代码审计之审计思路

代码审计技巧与实践

审计思路

正向

查找可控变量,正向追踪变量传递过程。

逆向

根据敏感关键字回溯参数传递过程。逆向:根据敏感关键字回溯参数传递过程。

  • 优点:只需要搜索相应敏感关键字,既可以快速的挖掘想要的漏洞,具有可定向挖掘和高效、高质量的优点。
  • 缺点:由于没有通读代码,对程序的整体框架了解不够深入,在挖掘漏洞时定位利用点会花费一点时间,另外对逻辑漏洞挖掘覆盖不到。

寻找敏感功能点

通读功能点代码(查看这些功能的特定文件是怎样存在的,独立的模块还是以插件形式,还是写在一个类里,然后多处调用)

  • 文件上传功能
  • 文件管理功能
  • 登录认证功能
    以WooYun-2015-90324漏洞为例,espcms版本为6.6。首先注册名为hahaxtu的用户,通过动态调试可以得知其用户ID为1。再次注册一个名为1test,查看其COOKIE,有如下两条数据:
    图片
    通过阅读源码可以发现上述两个参数的加密方式相同,为此把ecisp_member_username的内容赋值给ecsip_member_info后后台可以正常解密。修改COOKIE进行动态调试过程如下:
    修改之后请求中cookie值访问http://127.0.0.1/vuln/cms/espcms6.6/index.php?ac=membermain&at=center,如下:
    图片
    在index.php的第72调用了interface/membermain.php中的 in_center() 函数,跟随进入其中
    在这里插入图片描述
    in_center() 函数的第24行调用了class_connection.php类的member_purview() 方法,跟随进入
    图片
    此方法获取cookie值进行解密并赋值给变量,过程如下
    图片
    经过上述处理,变量值如下
    图片
    继续调试回到membermain.php的第33行,可以看到获取到了userid=1的用户的信息,如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值