第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

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

 

最近更新

  1. 力扣 设计链表707

    2024-05-13 05:42:03       1 阅读
  2. Apache部署与虚拟主机

    2024-05-13 05:42:03       1 阅读
  3. Linux——网络编程——UDP

    2024-05-13 05:42:03       1 阅读
  4. 2024.7.9总结(找对象的逻辑)

    2024-05-13 05:42:03       1 阅读
  5. 使用ADB命令控制logcat日志本地存储功能

    2024-05-13 05:42:03       1 阅读
  6. matlab实现pid控制空调温度

    2024-05-13 05:42:03       1 阅读
  7. 深入浅出Transformer:大语言模型的核心技术

    2024-05-13 05:42:03       1 阅读

热门阅读

  1. Qt自动形成父子关系的函数

    2024-05-13 05:42:03       15 阅读
  2. QT--3

    QT--3

    2024-05-13 05:42:03      12 阅读
  3. k8s job

    k8s job

    2024-05-13 05:42:03      13 阅读
  4. Kotlin语言泛型的形变是什么?

    2024-05-13 05:42:03       12 阅读
  5. undolog

    undolog

    2024-05-13 05:42:03      12 阅读
  6. 【C++】手搓读写ini文件源码

    2024-05-13 05:42:03       8 阅读
  7. 如何创建族表

    2024-05-13 05:42:03       13 阅读
  8. [UUCTF 2022 新生赛]ez_unser

    2024-05-13 05:42:03       13 阅读
  9. 一篇简单易懂的十大机器学习算法

    2024-05-13 05:42:03       13 阅读
  10. AtCoder Beginner Contest 353

    2024-05-13 05:42:03       14 阅读
  11. c#设置或者获取一个泛型整数指定bit的值

    2024-05-13 05:42:03       14 阅读
  12. iOS 沙盒图片的存取

    2024-05-13 05:42:03       15 阅读
  13. go语言切片slice使用细节和注意事项整理

    2024-05-13 05:42:03       10 阅读