第81天: 代码审计-PHP 项目&MVC 注入&CNVD 拿 1day&SQL监控&动态调试

目录

前置知识

正则表达式挖掘思路(通用漏洞思路)

功能点挖掘思路(通用漏洞思路)

案例一:数据库监控-QQ 业务源码系统-(无过滤)

案例二:正则表达式-Bluecms 源码系统-(无过滤)

案例三: CNVD 拿 1DAY-梦想 CMS 源码系统-(有过滤)

梦想 CMS 后台 Bo***.cl***.php 文件存在 SQL 注入漏洞

LmxCMS V1.4 前台 Ta***.cl***.php 存在 SQL 注入漏洞

​案例四:两种代码审计的思路

文件对比技术

动态调试技术 


前置知识

正则表达式挖掘思路(通用漏洞思路)

功能点挖掘思路(通用漏洞思路)

案例一:数据库监控-QQ 业务源码系统-(无过滤)

效率高但是只针对sql注入

源码部署以后,利用代码审计的数据库监控程序

导入项目进行语句查找,like后面的数据得删掉,因为ip不在里面写,是数据包中导入的ip是从这个函数中得来的,全局搜索这个函数的来源

查找这个函数的来源

函数定位

看到这里就明白了可以进行xff注入

成功

后面就是正常的手工注入的流程

案例二:正则表达式-Bluecms 源码系统-(无过滤)

使用正则表达式过滤

(update|select|insert|delete|).*?where.*=

这里我用的的是vscode,点击目录,按住ctrl+shift+f,输入正则表达式

需要关注这种变量可以控制的

查看定义

 查看到了query函数

对用户输入没有进行完整的过滤

让sql语句输出出来,以此来方便调试

执行

sql注入无回显,可以利用延时注入

这里直接扔到sqlmap中

案例三: CNVD 拿 1DAY-梦想 CMS 源码系统-(有过滤)

mvc框架(各司其职)

梦想 CMS 后台 Bo***.cl***.php 文件存在 SQL 注入漏洞

cnvd地址:https://www.cnvd.org.cn/flaw/show/CNVD-2020-59466

mvc框架访问方式

分析

id参数是由用户输入

终于看到了sql注入语句

让sql语句输出

触发sql语句

query函数里面执行sql语句里面有sql注入的报错语句,可以执行报错注入

测试payload

m=Book&a=reply&id=1)%20and%20updatexml(0,concat(0x7e,user()),1) --+

LmxCMS V1.4 前台 Ta***.cl***.php 存在 SQL 注入漏洞

cnvd地址:https://www.cnvd.org.cn/flaw/show/CNVD-2019-05674

查看该目录,发现有两个变量

查看函数定义

 存在的绕过点

sql注入点

继续跟踪查看到了sql注入语句

让sql语句输出

触发

 把sql注入语句进行两次url编码

注入

案例四:两种代码审计的思路

文件对比技术

利用软件beyond compare直接选择文件夹比较,把两个文件拖进去

这里下载了两个版本lmx,利用软件beyond compare,有颜色变化的就是做过修改的地方

这个文件

查看新旧版本在编写上的区别,从而推断出来旧版本的问题

动态调试技术 

配置参考文献:https://blog.csdn.net/nzjdsds/article/details/100114242

首先需要开启phpstudy的xedebug

然后再php.ini文末加入下面的代码

[XDebug]
xdebug.profiler_append = 0
;效能监测的设置开关
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;profiler_enable设置为1的时候,效能监测信息写入文件所在的目录
xdebug.profiler_output_dir="D:\phpstudy\tmp\xdebug"
;设置的函数调用监测信息的输出路径
xdebug.trace_output_dir="D:\phpstudy\tmp\xdebug"
;生成的效能监测文件的名字
xdebug.profiler_output_name ="cache.out.%t-%s"
; IDE与XDebug协作
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.idekey = phpstorm-xdebug
;.dll文件的路径
zend_extension="D:\phpstudy\PHPTutorial\php\php-5.4.45\ext\php_xdebug.dll"

配置phpstorm

配置端口

 

验证是否配置成功

下断点

执行后会自动启动页面

要触发data数据这里需要利用刚才的payload

m=tags&name=%25%36%31%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%37%35%25%37%30%25%36%34%25%36%31%25%37%34%25%36%35%25%37%38%25%36%64%25%36%63%25%32%38%25%33%30%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%37%35%25%37%33%25%36%35%25%37%32%25%32%38%25%32%39%25%32%39%25%32%63%25%33%31%25%32%39%25%32%33

往下执行可以看到执行到哪一步了,并且可以看到对应的变量和值

 

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值