CISP-PTE实操题(自写靶场与题类似或变型)
一、SQL注入篇
一、

使用%09绕过空格或%0d等,order by判断列数为4列,5时报错,4时回显正常

双写union绕过

查询表名



二、
需要对注释符号进行url编码+内敛注释,%23是#

或不使用注释,进行闭合

后续正常即可


三、
盲注可用函数
length、ascii、substr、sleep、beachmark、笛卡尔积、GET_LOCK()、RLIKE正则

回显为真则字符存在


四、
依旧联合查询,load_file('')查询文件
key为123

如果无法读取可能secure-file-priv="NULL",在mysqlid处加入secure-file-priv=""即可

五、



六、
注册用户1/1登录提示必须为admin

注册admin'#/123456后重置admin'#,在使用admin登录

七、
空字符、空格、注释等被禁用,内敛注释+url编码绕过





二、文件上传篇
一、

大写绕过

phtml、php.、php5、php%20、php:.jpg等

访问后发现为500

解1:
上传图片,GIF89a 完整头+payload

利用第二关文件包含

访问1.gif



解2:
上传.user.ini内容:auto_prepend_file=t.gif

上传t.gif验证:

访问自带view.php看t.gif是否执行,6*7=42成功执行

上传图片shell,连接成功


二、
完整GIF头+<?= 图片马 → fu2_view.php 包含执行
过滤内容<?php 由<?=绕过





三、
第一题解法2

因<?php拦截,使用<?=绕过

访问解析成功


如果连接失败或访问view.php报错说明缓存还在用旧配置


三、文件包含篇
一、
伪协议php://被过滤

data协议读取key位置

访问后为空

pphp://hp://绕过使用filter协议读取刚刚的绝对路径文件内容


同样payload读取index.php

或使用data协议读取

查看源代码


debug_note.txt文档下存放为config配置文件路径




二、

使用data乱码但也获取了绝对路径

data查看index.php


或filter,结尾自动添加.php


同理还是data也可读需要查源代码
http://192.168.2.125/start/index.php?page=data:text/plain,\<?php system('type C:\phpstudy_pro\WWW\upload\lfi-lab-v2\www\class\KeyLocator.php')?>

继续读取


需要使用filter读取文件


三、

拦截冒号,所有协议都需要冒号,url编码失效

日志RCE
--------------------------------------未完结待续写---------------------------------------------