
https://www.bilibili.com/video/BV1rz4y137dF/?vd_source0fc0a6b456c1b835e60869f88b90f7c1P1 view_source签到题查看源码1.右键2.F123.FnF12P2 get_postP3 robotsrobots.txt 协议全称 Robots Exclusion Protocol是一个放在网站根目录下的纯文本文件用来告诉搜索引擎爬虫蜘蛛哪些页面可以抓、哪些不能抓。它本质上是网站对爬虫的“礼貌性约定”不是强制法律但主流搜索引擎都遵守。核心要点位置固定必须放在域名根路径如 https://example.com/robots.txt作用范围针对爬虫的抓取行为不影响普通用户访问页面非强制性协议靠爬虫自觉执行恶意爬虫可以不理它所以它不能替代鉴权/防火墙User-agent: *表示这条规则对所有的网络爬虫都生效。Disallow:空值这一行其实没有实际限制作用通常意味着允许抓取根目录下的所有内容或者说是配置上的一个冗余。Disallow: flag_ls_h3re.php这是最关键的一行。它告诉搜索引擎爬虫“请不要抓取 flag_ls_h3re.php 这个页面”。直接把Disallow后面的路径拼接到域名后面在浏览器中访问http://61.147.171.105:52263/flag_ls_h3re.php这个例子也完美展示了为什么绝对不能用robots.txt来保护敏感文件。在真实的网络安全环境中如果把真实的密码文件或用户数据写进Disallow就等于在公网上挂了个牌子告诉黑客“我的秘密在这里你自己去看吧”。真正的敏感数据必须通过登录鉴权、IP 白名单或后端权限控制来保护。P4 backup法一一个个试网页下载备份文件打开后获得flag法二路径扫描打开kali终端先安装dirsearchsudo apt install dirsearchP5 cookie看到大量cookie只有look-here是当前网站的cookie根据提示访问cookie.php在响应标头中看到flagP6 disabled_button直接将disabled删掉发现按钮可以点击了此时获得flagP7 simple_jsfunction dechiffre(pass_enc){ // 定义密钥格式为 ASCII 码值的十进制数以逗号分隔 var pass 70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65; // 将密文按逗号分隔转换为数组形式 var tab pass_enc.split(,); // 定义一些变量 var tab2 pass.split(,);var i,j,k,l0,m,n,o,p ;i 0;j tab.length; // 计算数组元素个数 k j (l) (n0); n tab2.length; // 循环第一部分密文 for(i (o0); i (k j n); i ){ o tab[i-l]; // 将解密后的明文字符拼接到字符串 p 中 p String.fromCharCode((o tab2[i])); if(i 5)break; } // 循环第二部分密文 for(i (o0); i (k j n); i ){ o tab[i-l]; // 将解密后的明文字符拼接到字符串 p 中 if(i 5 i k-1) p String.fromCharCode((o tab2[i])); } // 将最后一个明文字符拼接到字符串 p 中 p String.fromCharCode(tab2[17]); // 将明文密码赋值给变量 pass pass p; // 返回明文密码 return pass; } // 调用解密函数 String[fromCharCode](dechiffre(\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30)); // 弹出提示框提示用户输入密码 h window.prompt(Enter password); // 调用解密函数并将解密结果弹出提示框显示给用户 alert(dechiffre(h));这是一个伪装成解密函数的代码但实际上它根本不解密你输入的东西——它每次都直接返回一个固定的硬编码字符串。 真正的密码就藏在代码里只是披了个 ASCII 码的马甲。先将最后的十六进制翻译成ASCII字符得到字符串55,56,54,79,115,69,114,116,107,49,50把这串按逗号切开每个数字用String.fromCharCode()转成字符78680sErtk12P8 xff_refererP9 weak_auth弱口令插件SwitchyOmega让你在浏览器里方便地把流量分给不同的代理 / 直连并按规则自动切换设置界面、通用 全部取消即可点击应用选项。浏览器设置成该情景模式打开BS用BS抓包右键发送IntruderP10 command_executionlinux命令执行用;进行拼接执行两段命令用|进行拼接执行后面的命令flag通常在根目录 或者home|ls /|ls /home读取flag文件|cat /home/flag.txt得到flag如果根目录、home里面都没有用|find -name flag.txt查找P11 simple_php?php show_source(__FILE__); // 显示当前源码用于调试不影响逻辑 include(config.php); // 引入配置文件可能包含 $flag1, $flag2 $a $_GET[a]; // 从 GET 参数获取 a $b $_GET[b]; // 从 GET 参数获取 b if ($a 0 and $a) { // 关键点1弱类型比较 echo $flag1; } if (is_numeric($b)) { // 关键点2判断 b 是否为数字 exit(); // 如果是数字直接退出不执行后续 } if ($b 1234) { // 关键点3如果 b 1234输出 flag2 echo $flag2; } ?第一步获取$flag1条件if ($a 0 and $a)$a 0弱比较只要$a在弱比较下等于 0 即可。and $a要求$a为真非 0、非空、非 false。矛盾点既要$a 0又要$a为真这在 PHP 中是可能的$a 0; // 字符串 0在 下等于 0但本身是 true非空字符串