来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 漏洞发生在插附件的地方。说到插附件各位看官也应该都想到了肯定是文件名。因为文件名是按照本地上传的文件名来显示的。如果你的操作系统是linux你可以直接修改一个图片文件的文...
漏洞发生在插附件的地方。说到插附件各位看官也应该都想到了肯定是文件名。因为文件名是按照本地上传的文件名来显示的。
如果你的操作系统是linux你可以直接修改一个图片文件的文件名,像这样:
1 <img src=javascript/alert(1);>.png
(这里的/在linux下会被转换成: 这个payload只有在IE6下才能弹起来,我知道你们都是高手 可以根据需要 插点高级的payload)
如果你的操作系统是windows,你可以上你喜欢的抓包工具(我个人喜欢用Tamper data)。第一次上传应该是抓不到文件名的,至少我没有抓到。
所以你需要在上传,插入,发帖完成之后重新编辑你的帖子来更新你的图片,这个时候抓包是可以抓到这个可爱的filename的。
修改xxx.png为
1 <img src=javascript:alert(1);>.png
提交。
xss会被触发在第二个页面,也就是点击图片放大之后触发。
pwned!
字符长度限制在80左右,过滤了” ’ / etc..(斜杠的问题我会在后面继续叙述)
因为不懂XSS,就拿给自己玩的好的几位基友去构造payload都说斜杠过滤了,字符限制云云 基本上都失败了。
虽然现在XSS很火,但我个人真的不是很喜欢这个东西。
但基友居然都说不行就只好自己硬着头皮再试试了。
在尝试中发现反斜杠也被过滤时,我才发现这不是一个xss filter的问题。
而是上传过程中,我们可爱的/和反斜杠在这里应该起到分割filename和filepath的作用 所以被杀也是应该的。 Orz..
这貌似就是传说中的mission impossible了。
我们需要解决这个斜杠的问题。经过各种尝试最后迂回到了附件描述的地方。很没有把握地插了一个XSS payload.像这样:
1 <img src=x onerror=alert(document.cookie)>.png
原来的文件名被这个描述给覆盖掉了。
pwned!
www.2cto.com
而且已经可以带上我们的斜杠了(因为它已经不再是前面的那种情况了)
到这儿,我觉得应该已经没有任何的阻碍了。
可能经过测试,会有人说payload会在主页面测漏,有HTTPonly cookie,属于被动触发云云。
whatever!
我觉得这些已经不应该是该去研究的问题了。
因为没有哪个网站和你有这么大的恨。
解决方案:
全局-上传设置-论坛附件-帖子中显示图片附件-否
这样,就搞定了。
写在最后,希望大家学会注重版权。因为尊重是人与人之间的基本。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com