突然发现自己走的路原来前人很多都走过

故事背景

同事L找我绕一个网站SQLi的WAF,我死活没绕过去;于是我找到了同学maplege,她有段时间专注于WAF的绕过。

她告诉我路径里有admin关键字就好了。

事成之后我打算过来分析一下。

正文

[附] 360 webscan源码

https://github.com/baiqj/host_manager/tree/master/other%20/360safe

先看一下效果:

路径中添加admin关键字之后

分析一下源码:

先看这个webscan_cache.php文件,类似配置文件

然后再来看webscan.php文件。

最后面的防护逻辑:

当判断条件是True时,则会根据开启的GET/POST/COOKIE/REFERRE设置来进行相应的拦截。

第一个条件:判断$webscan_switch开关是否开启,默认开启。只能尝试让第二个条件为False了。

第二个条件先来看一下这个后面的参数是webscan_cache.php文件里面配置的参数值

看一下webscan_white函数:

当在$url_path变量中匹配到$webscan_white_name时,便返回False

preg_match("/admin|\/dede\//is",$url_path)

即$url_path中存在admin或者/dede/字符串时,则跳过拦截

看一下$_SERVER['PHP_SELF']变量

也就是说可以直接在文件名后面添加任意字符

于是便有了上面的Payload,但是由于路径的原因导致了一些css文件执行失败,但是并不影响我们继续测试,所以不必在意。

后来

分析完之后,在网上搜寻这个waf的专业名字时,发现了P神的文章。

https://www.leavesongs.com/penetration/360webscan-bypass.html

原来P神早在14年便分析过了。。

相关阅读:

PHP_SELF引出的XSS挖掘新姿势

http://www.teagle.top/index.php/archives/97/


本文由 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