XSS
反射型xss(get)
首先输入类似于特殊字符+唯一识别字符格式的字符串,如 ‘“<>6666
,点击提交后查看响应结果:
点击右键,查看网页源代码,Ctrl+F
,输入6666
,如果输入正确的javescript的语句,也会被原封不动的返回。
输入发现有长度限制:
fn+f12打开开发者工具,发现最大长度maxlength为20,我们可以修改为20000:
1:在输入框中输入:
2:在url上转义
反射型xss(post)
get是以url的方式提交数据,而post是以表单方式在请求体里面提交。
提示:账号密码
admin/123456
这题观察长度限制,发现无:
直接输入并且弹窗:
输入document.cookie:
存储型xss
概念:存储型XSS又称持久型XSS,攻击脚本将被永久地存放在目标服务器的数据库或文件中,具有很高的隐蔽性。
输入document.cookie:
点击确定和我一开始输入的对比发现多了一个删除,不显示但是确实存在:
关闭火狐浏览器,用其他浏览器打开存储型xss的页面发现有个弹窗:
DOM型xss(反射)
DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情,无法通过WAF防护。
直接输入:
查看源码:6666666
我们把 <a href=’“+str+”>what do you see? 拿出来分析,实质就是要构造闭合然后来执行我们想要的代码,构造的payload为#’ οnclick=“alert(111)”>:
点击what do you see:
DOM型xss-x
6:
dom型都是鸡肋🐎 同上:
xss盲打
随便输入:
放下身段 盲打肯定不会的 看提示:!
还不错
登陆进去
盲猜admin/123456(上面做过):
再返回去拿cookie:
<script>alert(document.cookie)</script>
再返回去登陆就拿到了:
xss过滤
提交方式为get:
输入试试
说明这题存在特殊字符过滤的问题,我们就不用script试试上面的a标签
<a herf="#" onclick="alert(document.cookie)">
好了cookie拿到了
xss之htmlspecialchars
百度一下:
查看下源码:
这还不能看出点啥,输入那个常用的拿cookie的:
发现script的左右尖括号被编码了,所以不能用闭合来实现了,但是这边的单引号没被编码,用a标签的语句试试,构造payload:
#’ οnclick=‘alert(document.cookie)’
xss之href输出
看yellow网站被说了:
这个再试试吧
查了下href属性:href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了<a>
标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。
这里要用JavaScript的协议了
javascript:alert(document.cookie)
🆗:
xss之js输出
老规矩,但是没弹窗:
老规矩再看源码发现有个JavaScript框架,输入的内容全在框架里面
这边要用闭合注释双结合:
首先闭合‘:前面的语句然后插入新语句 再用//注释掉这个框架本就有的’:就行了
';alert(document.cookie);//
拜拜