欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

PHP代码审计:某CMS系统存储XSS(盲打后台)

来源:本站整理 作者:佚名 时间:2016-09-19 TAG: 我要投稿

 在源码之家找了个php+access的cms建站系统。

在本地搭建了下。

就去进行黑盒的测试,个人中心可以进行修改资料:

0000000000.jpg

我先进行黑盒的xss测试:

使用这个

payload:<script>alert(1)</script>

插过去,后台并没有弹出框。

再试试这个

payload:<img src=0 onerror=alert(1)>

后台效果:

111111111.jpg

成功的弹出了。

我们再进行一个白盒的分析,首先根据黑盒进行定位:

2222222222.jpg

可以看到这个<textarea....>标签,在这边,使用Seay源代码审计工具进行文件具体的定位:

3333333333333.jpg

这就定位到了我们输入的文件。

提示:这边只是教大家如何去通过黑盒定位到具体的文件,这个文件其实不重要,重要的是后台输出的地方。

定位到后台的文件同样的方法,就不演示了。

我们发现这样一段代码:

先是进行查询然后:

  1. ....
  2. echo check($note);
  3. ....

直接输出了这样的结果。

使用了自定义函数:check

追踪到头部发现:

  1. <?php
  2. require(dirname(__FILE__) .'/check.php');

使用了check.php,在check.php文件中进行代码的追踪

check函数中的:

  1. if($replace_script){
  2. $str = preg_replace("/<script/iUs", "<script", $str);
  3. $str = preg_replace("/script>/iUs", "script>", $str);
  4. }

限制了script的输入,但是并没有对img的限制,所以导致了存储xss的存在。

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载