以前挖掘XSS只会测试所有的参数(非DOM型),最近在学习PHP发现原来没有参数时,也可以触发XSS

0x01 文档

PHP官方文档 $_SERVER

1.png

0x02 利用

_FILE_常量包含当前文件的<font color=red size=4> 完整路径和文件名 </font>(基于document root)

可以利用如图这种方式,将HTML与PHP代码写入同一个文件中

2.png

此时却存在XSS漏洞,构造如图Payload:

4.png

可以看到即使没有参数时,也可能存在XSS漏洞

0x03 防御

可以使用$_SERVER['REQUEST_URI']来替代$_SERVER['PHP_SELF']

5.png

因为$_SERVER['PHP_SELF']会对网址执行一次urldecode操作,而$_SERVER['REQUEST_URI']则不会


本文由 TEag1e 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gificon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.pngicon_rolleyes.gif2016gz.gif2016kun.gif2016zhem.gif2016am.gif2016kel.gificon_twisted.gif2016lh.gificon_neutral.gif2016ka.gif2016tx.gificon_evil.gif2016bb.gif2016yun.gif2016qq.gif2016baojin.gificon_confused.gif2016kk.gif2016zk.gif2016kb.gificon_mad.gif2016yhh.gificon_exclaim.gif2016xia.gif2016gg.gif2016qd.gificon_smile.gif2016lengh.gificon_biggrin.gif2016bz.gif2016wq.gificon_eek.gificon_arrow.gificon_wink.gif2016tuu.gif