您的位置 » 首页 » 代码审计,实用工具 » 代码审计:Seay源代码审计系统实例演示

代码审计:Seay源代码审计系统实例演示

发表于2年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2015年07月31日 | 文章热度:9,076 次 全屏阅读

显示不全请点击全屏阅读

最近两年在写代码审计的书,已经在进行收尾,其中提到我的代码审计系统才想起来还没有写一个这个软件的使用示例,今天补充一下,

用PHP程序espcms做举例,首先载入程序,然后点击自动审计,得到一部分可能存在漏洞的代码列表

1

我们挑其中的这一条

2

 
双击该项直接定位到这行代码,如下

 

3

 
在选中改变量后,在下方可以看到该变量的传递过程,并且点击下方的变量传递过程也可以直接跳转到该项代码处,可以非常直观的帮助我们看清整个变量在该文件的传递过程,另外我们可以看到$parentid变量是在
$parentid = $this->fun->accept(‘parentid’, ‘R’);
这段代码获取的,右键选中该代码定位该函数主体

 

4

 

可以看到跳转到了class_function.php文件的314行。

5

 
可以看到这是一个获取GET、POST、COOKIE参数值的函数,我们传入的变量是parentid和R,则代表在POST、GET中都可以获取parentid参数,最后经过了一个daddslashes()函数,实际上是包装的addslashes()函数,对单引号等字符进行过滤,不过注意看前面的SQL语句是这样的
$sql = “select * from $db_table where parentid=$parentid”;
 
并不需要单引号来闭合,于是可以直接注入。
在citylist.php文件看到oncitylist()函数在important类中,选中该类名右键点击“全局搜索”功能
 

6

可以看到index.php文件有实例化该类,代码如下
 
$archive = indexget(‘archive’, ‘R’);
$archive = empty($archive) ? ‘adminuser’ : $archive;
$action = indexget(‘action’, ‘R’);
$action = empty($action) ? ‘login’ : $action;
include admin_ROOT . adminfile . “/control/$archive.php”;
$control = new important();
$action = ‘on’ . $action;
if (method_exists($control, $action)) {
         $control->$action();
} else {
         exit(‘错误:系统方法错误!’);
}
 
这里可以看到一个include文件的操作,可惜经过了addslashes()函数无法进行截断包含任意文件,只能包含本地的PHP文件,如果你有mysql的root权限,能导出文件到tmp目录,不能导出到web目录,这种场景才用得到这个文件包含,再往下走就是实例化类并且调用函数的操作了,根据代码可以构造出利用EXP
http://127.0.0.1/espcms/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 union select 1,2,user(),4,5
 
漏洞截图
 

7

Tags:

Seay源代码审计系统, 代码审计,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/4178/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

已经有17个筒子的人留下了脚印...

  • sofia 说:
    1楼
    2015 年 8 月 1 日 上午 11:57 回复

    给博主赞一个,博主软件一直都很经典

  • F001 说:
    2楼
    2015 年 8 月 2 日 下午 5:49 回复

    一直在看seay大牛的博客,觉得得到了很多的知识与思路吧。 想问下 代码审计的书 什么时候出版。 可否卖我一本。
    QQ516668272

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:41 回复

      预计下周预售

  • 漩涡鸣人 说:
    3楼
    2015 年 8 月 6 日 上午 12:16 回复

    前辈您终于回来了,期盼您的消息已经很久了。原来这段时间您在写书啊,那我就翘首以待了!代码审计实在是一个空缺,国内没有这类书籍,您能有心写实在是太好了!

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:42 回复

      是的,预计下周预售

  • xiaoloo 说:
    4楼
    2015 年 8 月 12 日 上午 9:55 回复

    非常期待Seay牛的代码审计的书籍 到候上市了 告知我下

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:42 回复

      可以邮件订阅我博客

  • helen 说:
    5楼
    2015 年 8 月 13 日 上午 4:34 回复

    坐等书 有试看啊 饥渴难耐啊 ❗

  • aaa 说:
    6楼
    2015 年 8 月 27 日 上午 9:34 回复

    问下书什么时候出版啊? 😀

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:43 回复

      预计下周预售 :D

  • test 说:
    7楼
    2015 年 9 月 18 日 上午 12:27 回复

    什么时候出版销售啊。希望涉及到aspx php jsp的,第一个买 💡

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:43 回复

      预计下周预售,快了

  • 天涯海角 说:
    8楼
    2015 年 10 月 23 日 下午 7:38 回复

    感觉这个很不错,但是有些安全的代码也会提示,总的来说好

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:43 回复

      只是辅助工具而已,完全自动化很难实现

  • 大葱 说:
    9楼
    2015 年 11 月 17 日 上午 11:49 回复

    书什么时候出来啊 到时候发个推送哦 我想买一本你的审计书

    • 【管理员】seay 说:
      2015 年 11 月 20 日 下午 2:44 回复

      预计下周预售,可以邮件订阅我博客

  • M 说:
    10楼
    2016 年 4 月 19 日 上午 12:05 回复

    能说一下这个工具是什么么

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)