记一次有源码的渗透测试

admin 2024年4月28日17:47:58评论12 views字数 1588阅读5分17秒阅读模式

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把“亿人安全设为星标”,否则可能就看不到了啦

原文链接:奇安信攻防社区

https://forum.butian.net/share/2915

https://forum.butian.net/share/2904先是得来的一个源码,查看下文件目录,按照命名大致标记下文件夹在整个php程序中起到了什么作用

记一次有源码的渗透测试
然后把整个代码丢到seay系统中寻找薄弱点

记一次有源码的渗透测试

发现全是sql注入,芜湖起飞!!!

进去一看.....

记一次有源码的渗透测试

参数在拼接至sql语句之前就已经经过了intval, addslashe函数的过滤。如果不存在宽字节注入那么基本上是不存在sql注入漏洞了的

现在看看sql数据库配置文件看看编码是否为gbk。

在文件夹下搜索.sql后缀名的文件,发现install.sql文件 应该就是数据库安装文件了。

记一次有源码的渗透测试

记一次有源码的渗透测试

utf8的编码方式,看来是不存在sql注入了的,接着看看其他漏洞。

发现了install/index.php文件下有任意文件写入漏洞。看看代码

记一次有源码的渗透测试

file_put_contents('../config.php',$config) 
// config.php是固定的了 但是$config内容是可控的,我们可以通过添加单引号的方式闭合字符串,然后写入任意的php代码

记一次有源码的渗透测试

post接受参数且无任何转义函数,那么就基本确定漏洞存在了,

然后if条件必须是 链接数据库时不能有任何异常抛出,否则就不会执行elseif了

记一次有源码的渗透测试

那么就是说可以任意修改的参数就只有 db_qz了

记一次有源码的渗透测试

burp抓包 因为from表单没有给db_qz参数需要自己添加
db_qz = '); phpinfo(); /*

记一次有源码的渗透测试

查看config.php

记一次有源码的渗透测试

然后还需要找一个任意文件删除就可以组合起来,任意删除删除lock文件配合getshell。

但是我找了很久也没发现任意文件删除漏洞。

于是我翻翻是否还有其它漏洞。

在templateargonbuy.php下发现了一个没有经过任何过滤的sql注入

记一次有源码的渗透测试

经过一番回溯,发现argon其实是一个网站模板文件,需要更换模板才能够访问这个文件。

更换模板后,我尝试了注入(因为这个是一个被包含的文件,需要在index.php包含使用)

记一次有源码的渗透测试

记一次有源码的渗透测试

更换后注入

记一次有源码的渗透测试

使用sqlmap测试

sqlmap -u http://xxxxxx/?mod=buy&cid=1

记一次有源码的渗透测试

但是这时想到了问题,因为跟换模板需要网站管理员的账号密码,而一般我们是没有账号密码的。

然后发现源码中有开通分站的功能,那么分站是否可以跟换模板而达到注入的功能呢?

于是去fofa搜索一波特征查找相同的网站

找了一个0元开通分站的网站(因为没挖到支付逻辑漏洞....)

记一次有源码的渗透测试

记一次有源码的渗透测试

记一次有源码的渗透测试

发现分站也是可以更换模板的。

然后测试到目标站点,花了五块钱巨款!开通了分站,对着目标站点一顿注入。

记一次有源码的渗透测试

没办法了那就,绕吧。

  1. select 不拦截

  2. union select 拦截

防火墙是根据输入的关键字进行判断是否存在恶意攻击。

http://www.xxx.com/index.php?id=1 //假设这个是我们网站的url id就是我们提交的参数,用于做数据查询  

我们构造攻击payload
?id=1 and 1 // 安全狗检测到and 1会拦截这个请求

那么我们使用/**/来构造payload
?id=1 /*AAAA*/ and /*BBBB*/ 1

狗眼中的参数:1 AAAA and BBBB 1
MySql眼中的参数:1 and 1

但是这种方法很久之前已经失效了,安全狗会无视掉/**/里面的东西
那么我们得知了一个条件:安全狗会无视掉/**/里面的东西
这样我们是否可以使用/**/的方式来绕过安全狗进行XSS(原理就是安全狗认为我们在进行SQL注入攻击,但是为了防止绕过安全狗会忽略掉/**/里面的东西)

测试:

记一次有源码的渗透测试

记一次有源码的渗透测试

那么我们使得sql语句在/ /之间就好了。

记一次有源码的渗透测试

记一次有源码的渗透测试

最后结果,成功登录后台获取若干数据:
记一次有源码的渗透测试

原文始发于微信公众号(亿人安全):记一次有源码的渗透测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月28日17:47:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次有源码的渗透测试https://cn-sec.com/archives/2694480.html

发表评论

匿名网友 填写信息