Seay

PHP代码审计入门(敏感函数回溯参数过程)

隐身守侯 提交于 2020-05-04 02:27:48
最近开始啃《代码审计企业级web代码安全架构》这本书,这一章内容看了2天很多内容都理解最主要的是对PHP不熟练所以现在理解了大概 然后进行实地环境搭建最主要的是源码百度真不好找 最后找到一篇也是读这本书的文章上有最后下载了搭建成功测试成功 最后把这篇跟着书上的节奏写下来吧,并附上源码。 代码审计思路 (1) 根据敏感关键字回溯参数传递过程。 (2) 查找可控变量,正向追踪变量传递过程。 (3) 寻找敏感功能点,通读功能点代码、 (4) 直接通读全文代码 靶机环境 Phpstudy PHP5.5.38+Apache espcms_utf8_5.9.14.08.28.zip 链接: https://pan.baidu.com/s/1-WFmn0iY81H8wlL5jKQsaA 提取码: 7cqa 3.1敏感函数回溯参数过程 根据敏感函数来逆向追踪参数的传递过程,是目前使用得最多得一种方式,因为大多数漏洞是由于函数得使用不当造成的。另外非函数使用不当的漏洞,如SQL注入,也有一些特征,比如select、insert等,再结合from和where等关键字,我们就可以判断这是否是一条SQL语句,通过对字符串的识别分析,就能判断这个SQL语句里面的参数有没有使用单引号过滤,或者根据我们的经验来判断。像HTTP头里面的HTTP_CLENT_IP和HTTP_X

【代码审计01】几种常见的漏洞种类以及代码审计工具

。_饼干妹妹 提交于 2020-03-25 12:53:00
3 月,跳不动了?>>> 前言 代码审计是在经过黑盒测试完毕,也就是检查应用的基本功能是否符合产品业务需求下进行的。需要有一定的编码基础以及对漏洞形成原理的基本认知,通过工具或者经验检测代码中可能出现的bug,并在不同平台(windows,linux),不同PHP版本下测试。比如PHP的很多新版本会对一些指令废弃删除,但是在旧版本中却能使用,而该版本下的指令即有可能会被人发现漏洞。 PHP核心配置 PHP配置对于大多数人都是通过php.ini设置,但其实是有配置范围的,比如一些指令配置只能通过php.ini配置,也有一些可以在PHP脚本中设置,通过ini_set()函数,详细可以查询PHP_INI.*的列表和ini_set使用方法。 代码审计工具 1.seay源代码审计工具(公众号回复"审计"可获取) 2. HackBar漏洞验证辅助(火狐浏览器扩展) 代码审计思路 1. 查看敏感函数追踪参数 2. 全部通读一遍源码了解逻辑 3. 按功能点审计追踪 常见的几种漏洞类型 1. SQL注入 2. XSS漏洞(跨站脚本攻击) 3. CSRF漏洞(跨站请求伪造) 4. 文件操作漏洞 5. 代码执行漏洞 6. 命令执行漏洞 7. 变量覆盖漏洞 8. 业务逻辑漏洞 9. 越权与提权 10. 二次注入 11. ……等等 小结&待续 由于在代码审计中会涉及到很多知识点,所以这里只先总结一个引文