测试的时候会涉及到xss测试,下面简要整理下xss的知识
xss跨站脚本特点就是能注入恶意的HTML/JS代码到用户浏览器,劫持用户会话
常用alert来验证网站存在漏洞
如果确认存在漏洞,会随着注入的内容不同而产生危害
<script>alert("xss test");</script>
比如:窃取cookie,网页挂马,恶意操作,跨站蠕虫等等
分类:
反射型:非持久,一般为一个url,需要用户单击,在url中参数传入
持久型:常存在于评论等交互中,常见于<textarea>这种标签,可用于挂马钓鱼渗透等
简单发掘:
反射型:
1.验证网站是否过滤<>,在输入框输入test<testxss>,然后提交以后只显示test,说明<>可能被过滤
这时候需要进一步验证,查看网站源文件,搜索testxss,如果可搜索到,那就表示<>是可以写入的
2.然后输入<script>alert("xss test");</script>就是一个最简单的反射型xss攻击
持久型:
1. 一般在评论框中输入<script>alert("xss test");</script>以后,发现该语句不就没有被过滤
而且会被浏览器完整的显示出来,经过分析是因为别嵌入到<textarea>中了
所以可以先标签闭合,例如</textarea><script>alert("xss test");</script><textarea>
这种攻击比较严重,假如该评论需要后台管理员审核的话,随着其他xss语句就可以造成更大的危害
可见,为了防止xss,字符过滤可以有效的较少被攻击的危害,但是xss攻击不止这么简单,
它还可以绕过服务端的xss过滤!!!待续
ps:常用的xss攻击语句列表
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet 英文
http://drops.wooyun.org/tips/1955 中文