CISP-PTE靶机基础真题实训二
1、SQL注入
(2)真题二:过滤了空格,使用注释/**/代替
解题思路:
分析题干,看到select语句,可以判断是')闭合,开始进行闭合尝试,看回显会过滤哪些字段
解题步骤:
1、输入闭合'");-- #看是否出现异常,过滤掉哪些字符
2、发现空格以及URL形式和#被过滤了,使用注释/**/,看是否能代替空格,对#进行URL编码
3、输入order by 数字来查询列数,也可以直接使用union select 联合查询回显点,数字从低到高一个个试(此时空格=/**/),union被过滤
4、发现回显点后,因为知道文件的路径,所以可以直接使用Load_file('/tmp/360/key'),查询key。
2、文件上传
(2)真题二:更改后缀名
解题思路:
文件上传问题,拿到首先先上传两个jpg文件,一个普通的,一个带有shell的图片,再去一步步分析
合成方法:copy \b shell.php+pic.jpg picshell.jpg(合成的切记文件大小不能超过800)
解题步骤:
1、先上传两张图片抓包,一个是正常的,一个是含shell的
2、发现含shell的图片上传成功,接下来直接抓包改后缀即可,php不行,php2,php3多上传几个
3、直接访问后缀为php3的文件即可,再蚁剑连接成功拿key
3、文件包含
(2)真题二:使用了php://filter协议
解题思路:
分析题目,发现是可以任意包含文件的file协议,并进行包含文件的尝试
解题步骤:
1、发现是可以包含文件的,首先尝试/etc/passwd,成功
2、由题目可知文件在根目录下,我们可以尝试去读取一下根目录的下的key.php(注意根目录是web的,不是系统的)
3、成功读取key.php文件,但没有读出key,查看原代码无任何提示,分析有可能key被注释掉了
4、想到读原码有个php://filter 协议
php://filter/read=convert.base64-encode/resource=要读取的文件
5、成功得到一个base64的字符串
6、将字符串复制postdata下,进行base64解码,成功拿到key
4、命令执行
(2)真题二:倒序输出tac
解题思路:
首先要打一个主机的地址例如127.0.0.1,找连接符,判断连接符哪个被过滤了,再判断哪个命令被过滤
解题步骤:
1、输入127.0.0.1试一下正常的业务逻辑
2、找连接符,输入:127.0.0.1|whami,发现执行成功
3、再输入cat ../key.php看一下能否直接查看到key
4、发现查看失败,说明cat被过滤了
5、使用tac试试,他是倒序输出的意思
6、发现成功,并获取到key
5、日志分析
(2)真题二:查看访问200OK的访问路径
解析思路:
下载文件,分析日志
解题步骤:
1、下载文件,导入到NotePad++中
2、查找IP172.16.12.12,访问成功的路径,发现出现很多访问adminlogin.php的地址
3、将登录页面路径拼接到题目链接中
4、抓包,使用BP攻击器对登录页面进行暴力破解即可
5、爆破出密码password123,成功登入获取key