未知cms
在测试过程中多数情况下会遇到常见的 DedeCMS(织梦)、discuz(论坛类)、wordpress(内容管理类) 等源码结构,这种一般采用非框架类开发(少部分框架类开发)对此类cms进行检测我们往往可以利用互联网上公开的漏洞进行尝试。
但遇到非主流cms是没有公开漏洞让我们进行操作,这时候可以在网上利用些渠道获取源码 例如:TG、github、咸鱼等,将源码在本地搭建进行测试,下面演示自行挖掘代码审计思路。
cms-淡然点图标系统
1.搭好本地环境进行测试
本地注册账号web页面登录:
2.利用Seay源代码审计系统
将源码加载进去->审计插件->mysql监控: 输入mysql账号和密码,刷新一下web页面后点击更新按钮,这时审计系统会监控到页面所执行的sql语句。 通过首页执行语句可以判断127.0.0.1是一个可控的变量: 这时可以对当前语句进行全局搜索,定位到存在该语句的php文件: 进到php文件里面来可以发现该语句调用的是ywdd这个函数,在index主文件中也可以查到ywdd这个函数 <?PHP ywdd(getIP()); ?>,且getIP为该函数调用的参数。这时可以判断出首页getIP执行的值就是“127.0.0.1”: 下面要在源码里搜索下看getIP执行时,为什么会是“127.0.0.1”。找到getIP函数定义的源码,通过源码可判断接收HTTP_X_FORWARDED_FOR来得到$realip的值,并 return $realip。这时可以伪造HTTP_X_FORWARDED_FOR的值来实现sql注入攻击: 开始上burpsuit进行抓包,更改X-Forwarded-For:1.2.3.4、在上源码审计系统去更新mysql监控,会发现语句变为 SELECT * FROM dd WHERE ip LIKE '1.2.3.4’LIMIT 0 , 30:
构造注入代码
说明:时间原因不去猜有几个列名了,直接登到数据库后台、5个列名构造联合注入语句:
构造语句爆出版本、用户、数据库
|