基于web站点的xss攻击

XSS(Cross Site Script),全称跨站脚本攻击,为了与 CSS(Cascading Style Sheet) 有所区别,所以在安全领域称为 XSS。

XSS 攻击,通常指黑客通过 HTML 注入 篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击行为。在这种行为最初出现之时,所有的演示案例全是跨域行为,所以叫做 "跨站脚本" 。时至今日,随着Web 端功能的复杂化,应用化,是否跨站已经不重要了,但 XSS 这个名字却一直保留下来。

随着 Web 发展迅速发展,JavaScript 通吃前后端,甚至还可以开发APP,所以在产生的应用场景越来越多,越来越复杂的情况下, XSS 愈来愈难统一针对,现在业内达成的共识就是,针对不同的场景而产生的不同 XSS ,需要区分对待。可即便如此,复杂应用仍然是 XSS 滋生的温床,尤其是很多企业实行迅捷开发,一周一版本,两周一大版本的情况下,忽略了安全这一重要属性,一旦遭到攻击,后果将不堪设想。

平台相关例子:

 第三方黑我们网站,把某一个名字改成代码的形式:

系统中任何用户进入网站,能看到这个名字的所有页面中的信息(页面F12后可以看到的所有信息),第三方都可以收到看到获取到。

相关问题对话:

把想要测试的输入框改成以下内容(系统中含有以下字样的页面就会弹出提示框提示xsd,如果弹出提示则有问题(代码生效了),如果 没弹出则没问题):

课程接口1<script>alert("xsd")</script>

 

刚刚提到的第三方可以收到页面中的所有信息,可以理解为页面F12中可以看到的所有信息。

 

转载于:https://www.cnblogs.com/zhuzhubaoya/p/11202642.html

### 基于DOM的XSS攻击原理 基于DOM的跨站脚本攻击(DOM XSS),是指攻击者通过操纵文档对象模型(DOM),而非服务器响应的内容,向Web应用程序注入恶意脚本。这种类型的攻击发生在客户端浏览器环境中,其中JavaScript代码读取某些不受信任的数据源,并将其直接嵌入到HTML文档流中而不经过适当的安全处理[^3]。 具体来说,在DOM型XSS中,攻击者可以通过构造特殊的URL参数、Hash片段或是其他可以影响页面内DOM属性的方式引入未被正确验证或编码过的输入。一旦这些未经净化的数据作为动态内容更新到了现有网页结构里,则可能触发浏览器执行这段潜在危险的JavaScript代码[^1]。 例如,考虑如下简单案例: ```html <script> document.write(location.hash.slice(1)); </script> ``` 如果访问`http://example.com/#<img src=x onerror=alert('XSS')>`这样的链接,那么上述代码将会把哈希部分当作纯文本写回到页面上并被执行,弹出警告框显示'XSS'。 ### 防护方法 为了有效防止DOM型XSS的发生,开发者应当遵循以下原则: - **避免使用不安全的方法**:尽量减少对像 `document.write()` 这样容易引发风险函数的应用;对于任何来自外部不可控渠道的信息都应谨慎对待。 - **严格控制数据流向**:确保所有由用户提交过来的数据都不会不经审查就被用于构建新的DOM节点或者改变已有元素的状态。特别是要注意那些能够间接引起重新渲染操作的地方,比如设置`innerHTML`, `outerHTML` 属性等。 - **实施上下文敏感输出编码**:依据最终呈现位置的不同采取相应的字符实体转换策略。例如,在HTML标签内部应该采用HTML实体编码;而在JavaScript字符串里面则需转义反斜杠(`\`)、单引号(`'`)以及双引号(`"`)[^2]。 - **运用Content Security Policy (CSP)**:这是一种HTTP头字段机制,允许站点管理员定义哪些资源是可以加载和执行的规则集。启用合适的CSP配置可以帮助阻止大多数形式的XSS尝试,即使存在一些编程上的疏忽也能起到额外保护作用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值