任意文件下载
来源:互联网 发布:手机淘宝投诉流程 编辑:程序博客网 时间:2024/05/14 21:17
任意文件下载 ,原理其实还是和上一次任意命令执行差不多的
原理:
下面贴一段代码,这是在一个存在任意文件下载的网站上边下载下来的真实环境的代码
If ($_GET["file"]){
# Get the filename to be downloaded
#----------------------------------
$file = $_GET["file"]; // 获取文件名字
$file = stripslashes($file); //反转义
$file = htmlspecialchars($file); //实体化html字符
$mainpath = "$path$file"; //到这里就没有继续过滤了,过于相信传进来的参数,就在这里
$filename = "./file_info/descriptions/$file.0"; //传值的时候传入自己想查看的文件的名字,比如 /etc/passwd
$newfile = fopen($filename,"r"); //于是就产生了,任意文件下载的漏洞
$content = fread($newfile, filesize($filename));
fclose($newfile);
$fileinfo = explode ("|",$content);
$fileinfo[0] ++;
# Save the new file count
#------------------------
$content = implode("|", $fileinfo);
$newfile = fopen($filename,"w");
fwrite($newfile, $content);
fclose($newfile);
# Translate file name properly for Internet Explorer
#---------------------------------------------------
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")){
$file = preg_replace('/\./', '%2e', $file, substr_count($file, '.') - 1);
}
演示:
首先还是先Google一下 ,inurl:(download.php?down=)
一如既往,一搜一大把
一个一个的测试,更改参数,换成/etc/passwd 那个网站提示下载这个文件,那个网站就存在任意文件下载
好麻烦啊,又得一个一个的试试,但是,干这个又不得不耐着性子找下去,当然,有自动化工具....
但是,你想当一个脚本小子么?! 我不太想当 .... 当然,我不会完全决绝脚本的使用 ...
因为脚本是辅助,我们才是ADC!!!
不要让脚本当成ADC ,你是辅助!!!
然后正题,找到后,先下载下网站的index.php 看看,万一有数据库的账号密码呢
当然,需要一个一个目录试一试,/index.php ../index.php ../../index.php
找到了!
下载下来打开看看
就十几行的代码,没有用户名和密码,然后就是这几个文件啦 ,第一个测试后没用,根本打不开,换下目录还是不行,测试
第二个目录,
直接贴过来当参数 ,不对 , 然后../includes/defines.php 成功,下载下来可以看到里边包含一个cinfiguration.php
一般都是配置文件,里边看看有没有敏感信息
打开查看内容
然后呢,简单的判断下,都是本地登录 ,并不能远程访问,找后台后麻烦 ,还不一定能找到 ,我去干点别的事情
不再这上边浪费时间了
- 任意文件下载
- 任意文件下载
- 任意文件下载
- 下载任意类型的文件
- 任意文件读取下载漏洞
- HttpWebRequest 下载任意类型的文件
- SpeedCMS任意文件下载读取漏洞
- 使用 HttpWebRequest 下载任意类型的文件
- 记录一次“任意文件下载”高危漏洞
- CTF web题总结--任意文件下载
- 基于HTTP协议用WinSock实现任意文件下载
- 基于HTTP协议用WinSock实现任意文件下载
- 实现web服务器的任意文件下载到客户机
- 实现任意文件下载 FileDownload使用教程
- 在Django中下载任意类型的文件
- spring mvc 实现任意文件上传—— 下载<二>
- 科讯Kesion Cms7.0 任意文件下载漏洞
- [漏洞分析] BlackCat CMS 1.1.1任意文件下载
- JS奇技淫巧
- 50. Pow(x, n) 372. Super Pow
- 经典dp 滑雪
- 子查询
- 2016-7-27今天学习的MySQL语句的使用
- 任意文件下载
- 网站开发基础知识篇三 Ajax
- android onSaveInstanceState方法 横坚屏切换的状态保存
- MyBatis和Hibernate相比,优势在哪里?
- Codeforces Round #245 (Div. 1) B. Working out(DP)
- 关于if 与return
- C++ Block(代码块)
- Android触摸屏事件派发机制详解与源码分析三(Activity篇)
- Python <built-in method items of dict object at 0x0000000002B6C8C8> 问题解决