PHP代码审计之简单思路方法

今天继续给大家介绍渗透测试相关知识,本文主要内容是PHP代码审计之简单思路方法。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、PHP代码审计简单思路

一般来说,PHP代码审计主要有以下思路:

(一)从关键字入手

代码审计一个非常常用的思路就是查找可能存在漏洞的函数、变量等,漏洞的存在依赖于站点的功能,而站点功能的实现又依赖于一些特定的代码,这些特定的代码又通常包含一些特定的关键字,我们只需要搜索这些代码,就可以快速查找可能出现漏洞的可疑点。

(二)从功能入手

另一方面,我们也可以先审查站点的功能,看是否存在数据交互、文件上传、输入输出等的功能点,找到功能点后,再根据功能点的URL地址查找具体的源代码,看是否存在漏洞。

(三)借助其他工具

此外,我们还可以借助其他工具进行审计。常见的工具有:数据库监控工具、文件监控工具、抓包工具、自动化扫描工具、断点调试工具等等。

二、PHP各漏洞搜索关键字

针对各种类型的漏洞,PHP代码中常出现的关键字如下所示:
1、SQL注入漏洞
select、insert、update、mysql_query、mysqli等。
2、文件上传漏洞
$_FILES、type=‘file’,上传(直接搜索汉字上传,因为存在上传点处很多都会又相应提示),move_upload_file()等。
3、XSS跨站漏洞
print、printr、echo、sprintf、die、var_dump、var_export等。
4、文件包含漏洞
include、include_once、require、require_once等。
5、代码执行漏洞
eval、assert、preg_replace、call_user_func、call_user_func_array等。
6、命令执行漏洞
system、exec、shell_exec、``(反引号)、passthru、pcntl_exec、popen、proc_open等。
7、变量覆盖漏洞
extract()、parse_str()、$$、parse_str()、import_request_variables()等。
8、反序列化漏洞
serialize()、unserialize()、__construct、__destruct等等。
9、其他漏洞
unlink()、file_get_contents()、show_source()、file()、fopen()等。
10、通用关键字
$_GET、$_POSR、$_SERVER、$REQUEST、$COOKIE等。

三、框架类PHP代码审计特点和方法

PHP框架有内置的相关功能函数,这些函数在内部的逻辑中,基本上都已经设置了较为完善的过滤和拦截功能。因此,当我们确定一个站点是由某个框架搭建的以后,我们需要注重以下两点。一是注意由于开发者对框架功能函数的调用不规范导致的漏洞。有可能开发者在开发某一功能的时候,使用了自己的写法,而没有利用框架中的功能函数,或者是使用了框架的写法,但是并没有完全按照流程来写。二是注意看相关框架有没有爆出相关的漏洞。我们可以根据框架的版本号,来搜索相应版本的框架存在的漏洞。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值