代码审计-php篇之某CRM系统多处sql注入

🌟 ❤️

作者:yueji0j1anke

首发于公号:剑客古月的安全屋

字数:3516

阅读时间:    35min

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。合法渗透,本文章内容纯属虚构,如遇巧合,纯属意外

目录

  • 介绍

  • 漏洞审计

  • 总结

0x01 大体介绍

经历了.net审计,最近开始找php站进行练手,php审计点要多一些,大差不差,都是围绕关键词来展开。

0x02 工具配备

我这里本地环境准备的是sexy,phpstorm以及phpstudy

checklist如下

sql注入->    select   mysqli  mysqluery   insert
​
文件上传->    $_FILES type="file" upload 
​
xss   ->    print echo sprintf  var_dump
​
文件包含  ->   require include 等四个函数
​
代码执行  ->  eval assert  call_user_func  preg_replace
​
命令执行  ->  system exec  shell_exec popen  proc_open
​
变量覆盖  —>  parse_str()  extract()  $$
​
反序列化  ->  serialize() construct destruct
​
ssrf    ->   file_get_contents
​
文件删除  ->   unlink
​
变量寻找   ->   $_GET $_POST  $_FILES  $_REQUEST

0x03 审计过程

php系统首先需要看看路由情况

庆幸的是,这里有readme,可以直接了解大概、

大致路由就是 xxx(controller层)/controller(子层)/函数

老规矩,审计登录接口练练手感

结果一来就给我gg了

image-20240508165654467

做了源代码混淆,尝试找到key进行逆向

image-20240508163351353

审计了一下,并没有明显的漏洞,cookie认证授权动态加密随机分配,密码被des加密进入数据库进行验证。

此时每一个php文件都基本加密,我懒得统一解密,直接路由上去一个个审计功能点。

1.sql注入点

寻找的搜索点会被转义,sqlmap专门用了转义脚本也未能发现注入点

image-20240508163858674

东摸一下,西摸一下

image-20240508163954029

发现在点击报告类型时会出现一个参数专门统计时间戳,且该时间戳可以被任意修改,sqlmap跑了一下,嘎嘎出洞

image-20240508164120745

找到对应路由进行逆向,发现对应sql语句

image-20240508165003189

并没有存在过滤,在同目录下进行相同逆向操作

发现另外sql注入两处

2.文件上传

白盒审计路由找了半天没找到文件上传点,直接逆向了几个大目录,全局搜索

image-20240508165138367

找了半天,终于在uploadxx.php下找到了对应功能点

image-20240508165328232

可以进行客户导入,抓包修改

image-20240508165446892

成功上传回显路径,拼接路径进行访问

image-20240508165527460

同理,在相关函数搜索下,找到了其他几个文件上传路由点。

0x04 总结

此次审计大概2h,比起常规的tp框架,这次的审计框架相对简单的多,框架大概自己做了自增删,本来还想审查框架漏洞,但基本上都做了加密混淆,遂放弃。

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值