代码审计PHP篇

【代码审计】第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

第108天:PHP模型开发篇&MVC层&动态调试未授权&脆弱鉴权&未引用&错误逻辑1

第109天:PHP模型开发篇&动态调试&反序列化&变量覆盖&TP框架&原生POP链

第110天:PHP框架开发篇&ThinkPHP&版本缺陷&不安全写法&路由访问&利用链

第111天:PHP框架开发篇&ThinkPHP&反序列化&POP利用链&RCE执行&文件删除

第112天:代PHP框架开发篇&Yii反序列化&POP利用链&某达OA&某商城&影响分析

第113-114天:代码审计-PHP框架开发篇&实战ThinkPHP项目&打击微交易&源码获取&扩大战果

第115-116天:代码审计-ASP.NET开发篇&预编译架构&DLL反编译&用友畅捷通T&文件上传挖掘