您当前的位置: 首页 > 

合天网安实验室

暂无认证

  • 0浏览

    0关注

    748博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

怎样进行代码审计

合天网安实验室 发布时间:2020-03-19 16:00:40 ,浏览量:0

怎样来php代码审计

概况:

  1. 工具和常见的几种思想

  2. 常见的点

  3. 一套简单的CMS源码审计

  4. 总结

这篇是关于php;

常见的也是php的代码审计,类似java框架,asp.net,python的Django还是有漏洞之类的,只是比较固定和稀少;

像php这种语言本身就是弱语言类型(很多点都利用了弱类型比较和转换),功能函数也是奇多(导致了其与sql,xml等语言的花式组合),加之处理一个问题的方法也是奇多(其中就难保不会出现漏洞)

当然php的thinkphp框架,有机会来(这款框架就安全性没有其他几种语言那么强的安全措施,倒转还有一个烂大街的log写webshell的常见问题,以及最近挺火的远程代码执行)

一.工具和常见的几种思想 (一)工具

这里 我介绍两款免费常用的审计工具和一款php编写调试工具

Seay源代码审计系统

下载地址:https://www.waitalone.cn/seay-source-code-auditv2.html

2.(PHP代码审计工具——rips)

下载地址: https://sourceforge.net/projects/rips-scanner/

使用教程: https://www.cnblogs.com/Jewel591/p/7477483.html

3.phpstorm

如果对于版本没有什么要求

直接按照http://www.3322.cc/soft/17468.html激活即可

这款工具的调试运行,作者还是多提醒一点

.php等文件必须在www文件夹下,其他的搜下就知道了

4.xdebug

这款debug暂时还没有用,不过看各位前辈经常用到,特提出来

(二)几种常见的审计思想

其实个人认为就两种,由点破面,由面破点

当然还有

1.由点破面

根据经验和工具找漏洞关键词,来溯源调用过程

看是否可控,可控后看调用的输入入口

如果单个可控条件满足我们的要求,但是无法实施漏洞触发,再全局看下哪里有满足我们条件的地方,组合起来触发

其中用到我们的工具Seay源代码审计工具

2.由面破点

通读全文,理清大意,再根据问题关键词,勾画对应位置 —英语阅读

深入理解一套CMS源码就是这样

如果追求速度,那么无疑第一种最好,也是入门首选,暂时只专注于问题地方(作者目前也是用的第一种)

二.常见的点

这里就不写那些有的没的了,只详细给出作者认为个人目前阶段审计挖掘常用的点

推荐学习: 1.php常见漏洞

审计中弱类型比较,首当其冲,其他的函数问题大多围绕这个比较特性

== 与=== 的差别;

数组,字符,数字,对象之间的比较转换;

当然还有其他web漏洞,这里不多说

2.php常见漏洞函数

还是必须要写出来有个清晰的认识,写出一些前辈的总结吧

先写出 == 与 ===的差别

=== 在两个数比较时,也会比较参数的类型

来看一个代码简单理解下


 

payload ?password=1e9%00*-*

字符长度满足,内容包括特殊字符且为a-zA-Z0-9,且大于9999999,%00后内容ereg不再判断

3.strcmp

判断输入密码是否相等

如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0; 如果两者相等,返回 0。

            
关注
打赏
1665306545
查看更多评论
0.0385s