摘要:为了加深自己对攻击的理解,特意尝试了一下,并把整个过程记录下来。因为标签有问题,在后台返回来的标签在是存在的,但是并没有执行还请各位大佬多多指正
XSS:跨站脚本(Cross-site scripting)
攻击手段和目的:
攻击者使被攻击者在浏览器中执行脚本后,如果需要收集来自被攻击者的数据(如cookie或其他敏感信息),可以自行架设一个网站,让被攻击者通过JavaScript等方式把收集好的数据作为参数提交,随后以数据库等形式记录在攻击者自己的服务器上。
为了加深自己对XSS攻击的理解,特意尝试了一下,并把整个过程记录下来。
攻击过程:
①、客户端收集用户数据(如留言、发布文章功能)
②、攻击者将留言内容写入了可执行的JavaScript代码
③、将上面的数据未经处理直接存入数据库
④、其他用户查看该网站,看了上面包含了可执行的JavaScript代码的文章和评论
⑤、其他用户就会在浏览器客户端执行攻击者注入的JavaScript代码
本次试验用到如下技术:
①、(客户端)原生Ajax请求
②、(服务端)thinkphp,为了试验方便,不使用数据库,直接返回数据
③、 Cors跨域
XSS测试
在这里我使用的是get请求
其中请求地址http://vueapp.com 是我自定义的地址,使用Apache配置
由于这里涉及到跨域问题(出于浏览器安全的同源策略,协议、域名、端口号任一不同都属于跨域)
Failed to load http://vueapp.com/: No "Access-Control-Allow-Origin" header is present on the requested resource. Origin "null" is therefore not allowed access.
我的解决方法是CORS
在后端的接口中添加这么一行代码
header("Access-Control-Allow-Origin:*"); // 允许所有访问源
返回的数据是:
$this->ajaxReturn(array("status" => 0,"info" => ""));
这里我们利用img标签的onerrer属性来执行JS代码,所以src属性填一个访问不了就可以触发onerrer了
开始测试点击 XSS测试 按钮,结果如图(谷歌浏览器):
这就是一个最最最简单的XSS攻击案例
这次我们去一个网站盗用cookie
可以看到所有的cookie信息都在这里了
*发现的问题为什么我不直接用script标签,而用img的onerror属性。
因为script标签有问题,在后台返回来的script标签在dom是存在的,但是并没有执行
还请各位大佬多多指正
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101135.html
摘要:之前就对有所耳闻,不过昨天在学习深入浅出过程中,才深入了解到攻击的原理,于是找到那本很早就想看的前端黑客技术解密,找到跨站攻击脚本章节,于是有了下面这个简单的攻击实验。 之前就对XSS有所耳闻,不过昨天在学习《深入浅出nodejs》过程中,才深入了解到XSS攻击的原理,于是找到那本很早就想看的《web前端黑客技术解密》,找到 跨站攻击脚本XSS 章节,于是有了下面这个简单的XSS攻击实...
摘要:之前就对有所耳闻,不过昨天在学习深入浅出过程中,才深入了解到攻击的原理,于是找到那本很早就想看的前端黑客技术解密,找到跨站攻击脚本章节,于是有了下面这个简单的攻击实验。 之前就对XSS有所耳闻,不过昨天在学习《深入浅出nodejs》过程中,才深入了解到XSS攻击的原理,于是找到那本很早就想看的《web前端黑客技术解密》,找到 跨站攻击脚本XSS 章节,于是有了下面这个简单的XSS攻击实...
摘要:跨站脚本攻击,缩写为。这就是攻击最简单的一个案例。漏洞产生的原因是攻击者注入的数据反映在响应中。而且富文本攻击的防御相对比较麻烦。默认配置下不允许执行内联代码块内容,内联事件,内联样式,以及禁止执行和。 跨站脚本攻击(Cross Site Scripting),缩写为XSS。恶意攻击者往Web页面里插入恶意javaScript代码,当用户浏览该页之时,嵌入其中Web里面的javaScr...
阅读 1993·2023-04-25 22:50
阅读 2814·2021-09-29 09:35
阅读 3357·2021-07-29 10:20
阅读 3132·2019-08-29 13:57
阅读 3319·2019-08-29 13:50
阅读 3010·2019-08-26 12:10
阅读 3505·2019-08-23 18:41
阅读 2598·2019-08-23 18:01