PHP代码审计4-漏洞挖掘思路
2024-08-27 07:31:34
漏洞挖掘思路
漏洞形成的条件
1、变量可控制
2、变量可到达有利用价值的函数(危险函数)
漏洞造成的效果
漏洞的利用效果取决于最终的函数功能,变量进入什么样的函数就导致什么样的效果
危险函数
文件包含:包含漏洞
代码执行:执行任意代码漏洞
命令执行:执行任意命令漏洞
文件系统操作:文件(目录)读写删等漏洞
数据库操作:SQL注入漏洞
数据显示:XSS等客户端漏洞
……………………
代码审计的本质
找漏洞==找对应变量与函数
常见的代码审计思路
1、根据敏感关键字回溯参数传递过程 【逆向追踪】
优:只需搜索响应敏感关键字
缺:对程序的整体框架了解不够深入
2、查找可控变量,正向追踪变量传递过程
3、寻找敏感功能点,通读功能点代码
文件上传功能、文件管理功能、登录认证功能、找回密码功能等
4、直接通读全文代码
特别注意:
1、函数集文件(如:functions/common):一些公共函数,提供给其他文件统一调用
2、配置文件(config)【注:来留意参数值是用单引号还是双引号括起来】
3、安全过滤文件
4、index文件 【建议:先将几个核心目录的index文件都简单的读一遍】
优:可更好的了解程序架构以及业务逻辑,能挖到更高质量的漏洞,适合老手
缺:耗时比较大
最新文章
- MySQL 基础及性能优化工具
- appserv 设置虚拟路径httpd.conf的配置
- AngularJs的UI组件ui-Bootstrap分享(二)——Collapse
- JS延时提示框
- Logic BIST
- Erlang入门(三)——分布式编程
- css倒三角的几种实现方式
- 用PHP迭代器来实现一个斐波纳契数列(转)
- SQLServer在多个表中都增加一个字段的方法
- Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则
- vm12pro 安装winxp过程 记录1(涵个人问题)
- HDU1263水果
- leetcode169
- 《mysql必知必会》学习_第19章_20180809_欢
- [leetcode]Simplify Path @ Python
- Redis学习---Redis操作之Hash
- mysql ga rc beta alpha区别
- 04-容器 What, Why, How
- “好奇号”火星车和它搭载的软件(来自Erlang程序员的观点)
- (转)JAVA中的权限修饰符
热门文章
- adb使用wifi无线连接调试Android设备
- maven下nutz与servlet报错org.nutz.mvc.NutFilter cannot be cast to javax.servlet.Filter
- c#Winform程序调用app.config文件配置数据库连接字符串
- Python基础学习之文件(1)
- mysql一些常用的查询语句总结
- Sublime Text 3预览Markdown
- 笨办法学Python(三十二)
- 初识QT中的qDebug()
- 2018.7.6 js实现点击事件---点击小图出现大图---时间定时器----注册表单验证
- cordforce Educational Codeforces Round 47 补题笔记 <;未完>;