渗透测试之代码审计

代码审计的通用思路

1.通读全文代码,从功能函数代码开始阅读,例如include文件夹下的common_fun.php,或者有类似关键字的文件。

2.看配置文件,带有config关键字的文件,找到mysql.class.php文件的connect()函数,查看在数据库连接时是否出现漏洞。

3.继续跟读首页文件index.php,了解程序运作时调用了哪些函数和文件,以index.php文件作为标线,一层一层去扩展阅读所包含的文件,了解其功能,之后进入其功能文件夹的首页文件,进行扩展阅读。

漏洞产生原因

1.变量控制不严(一切输入都是有害)

2.变量到达有利用价值的函数(一切进入函数的变量都是有害的),漏洞的利用效果取决于最终函数的功能。

代码审计关键字

sql注入关键字:select,insert,update,$_GET,$_POST,$_REQUEST

上传漏洞关键字:$_FILES,move_iploaded_file

命令执行漏洞关键字:shell_exec,exec,passthru,system,popen

包含漏洞关键字:include,unclude_once,require,require_once

变量覆盖关键字:$$

跨站漏洞关键字:echo print print_r var_dump var_exprot insert


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。