CTF练习平台——web(1)

1、签到题

《CTF练习平台——web(1)》

直接加群就可以获取flag

2、Web2

《CTF练习平台——web(1)》 点开链接铺天盖地的全是滑稽

尝试抓包失败

《CTF练习平台——web(1)》

查看元素就发现了flag

《CTF练习平台——web(1)》

3、文件上传测试

《CTF练习平台——web(1)》

判断为上传绕过

尝试上传一个php

《CTF练习平台——web(1)》

提示非图片文件,所以上传一个图片文件,再抓包试试

《CTF练习平台——web(1)》

《CTF练习平台——web(1)》 得到一个HTTP数据包

将HTTP数据包发到Repeater模式

将文件名的后缀改为php

《CTF练习平台——web(1)》

《CTF练习平台——web(1)》

发送数据包后返回flag

《CTF练习平台——web(1)》

4、计算题

《CTF练习平台——web(1)》

尝试输入40发现只能输入一位,页面设置了长度限制

改一下html的代码,再输入40即得到flag

《CTF练习平台——web(1)》

5、web基础$_GET

《CTF练习平台——web(1)》

题目已经给出源代码,直接构建payload

《CTF练习平台——web(1)》

6、web基础$_POST

《CTF练习平台——web(1)》

《CTF练习平台——web(1)》

7、矛盾

《CTF练习平台——web(1)》

根据源代码,要获得flag的条件是num变量不能是数字,但是要等于1

is_numeric()函数支持普通数字型字符串、科学记数法型字符串、部分支持十六进制0x型字符串,但是int强制类型转换不能正确转换类型有十六进制型字符串、科学计数法型字符串(部分)

利用PHP的弱条件漏洞:

==                 在进行比较的时候,会先将字符串类型转换为相同,再比较大小(不考虑类型)

===                在进行比较的时候,会先判断两种字符串的类型是否相等,再比较大小

所以构造payload

http://120.24.86.145:8002/get/index1.php?num=1e0.1

《CTF练习平台——web(1)》

得到flag:

flag{bugku-789-ps-ssdf}

8、web3

《CTF练习平台——web(1)》

直接查看源代码

《CTF练习平台——web(1)》

在源代码中发现一串像HTML等语言转义的序列,将转义序列放在HTML文件中

《CTF练习平台——web(1)》

执行test.html文件

《CTF练习平台——web(1)》

得到flag:

KEY{J2sa42ahJK-HS11III}

9、sql注入

《CTF练习平台——web(1)》

是一道sql注入题,先尝试了一般的注入,失败

《CTF练习平台——web(1)》

尝试宽字节注入

《CTF练习平台——web(1)》

该题为宽字节注入

《CTF练习平台——web(1)》 id=1%df%27 order by 2%23

测出字段数为2

获得当前使用的数据库

《CTF练习平台——web(1)》 id=1%df%27 union select 1,database()%23

当前使用的数据库为sql5

再根据题目的提示,表为key,字段为string,且id=1,构造payload

http://103.238.227.13:10083/?id=1%df%27 union select 1,string from sql5.key where id = 1%23

《CTF练习平台——web(1)》

得到flag:

KEY{54f3320dc261f313ba712eb3f13a1f6d}

    原文作者:queena_
    原文地址: https://www.jianshu.com/p/5c9aa8ac19f2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞