【代码审计】第105天:PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
原生开发 什么叫原生态的项目
框架
组件
前端
了解程序名、版本、环境(系统、中间件)、插件
可控变量/特定函数,可绕过/过滤
PHPstudy搭建后,PHPstorm打开审计代码:bluecms
正则搜索sql语法 全局代码搜索
有没有可控变量、文件名(需要登录授权)、有没有过滤
$db-> 函数封装
有输出payload
CTF和代码审计能力正相关
转到声明、实现 追踪函数
print代码调试大法好!
代码的整体还要再分析,比如关于输出回显
1day通过别人的技术文章分析出POC,复现就是nday
CNVD-2018-26200
因为comment相比config更可能有用户的交互
checktoken
有emdirect的重定向
没输出 采用报错注入或盲注
sql注入的#将后面屏蔽,但是把token注释掉了,所以一定要把token放在前面,然后把对应的注释符号放后面;或者用加号
后台的注入,所以中危
CNVD-2023-65138
emlog2.1.9 sql注入
数据库监控插件
condition
二次注入,注册sql语句的用户名,访问user页面触发,但用户名随机生成
导入备份sql「联想需要添加数据」
第106天:PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘
和上一讲的sql注入的关系,数据库监控有用吗:除非把文件路径写入数据库
删除
通达OA
通达OA代码解密,zend加密 seayDzend工具:解密代码文件
迪总给我的感觉,一切都在掌握之中
一个个漏洞排查太麻烦了,不想挖了
file-jiankong.py
attch相对路径搭配文件包含,代码能执行,但是不输出,需要访问后,重新创建个后门
第107天:PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证
MVC设计模式(模块视图控制器):效率
控制器:响应用户请求
模块:管理业务逻辑、数据库
视图:前端模块渲染数据
MVC对审计的影响:
文件代码定位
代码过滤分析
前端安全发现
smarty
ContentAction