DVWA系列之22 low级别上传漏洞
2016-01-05 20:55
776 查看
大多数的网站通常都会提供文件上传的功能,例如上传图片或是文档等,只要网站允许上传,就有可能存在上传漏洞。上传漏洞与SQL注入相比,其风险更大,黑客利用上传漏洞的主要目的是将WebShell上传到网站中,从而达到控制网站甚至整个服务器的目的。在看过的很多黑客渗透实践案例中,上传漏洞和SQL注入都是两种并重的主流攻击手法。
在DVWA中选择Upload,首先分析low级别的代码:
![](http://s3.51cto.com/wyfs02/M00/79/39/wKiom1aLvUKyOKO6AADCOpQqumw960.png)
首先站点通过upload参数以POST方式来接收被上传的文件,然后指定文件上传路径为“网站根目录/hackable/uploads”,文件上传到网站之后的名字仍沿用原先的名字。
接下来利用$_FILES变量来获取上传文件的各种信息。$_FILES变量与$_GET、$_POST类似,它专门用于获取上传文件的各种信息。
“$_FILES['uploaded']['name']”,用于获取客户端文件的原名称,
“$_FILES['uploaded']['tmp_name']”, 用于获取文件被上传后在服务端储存的临时文件名。
语句“move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)”表示将上传后的文件移动到变量$target_path所指定的新位置,如果这个函数成功执行,则输出“succesfully uploaded!”,否则输出“Your image was not uploaded”。
可以看出,在low级别中,没有对上传的文件进行任何过滤,因而我们可以直接将php木马文件上传到服务器中。比如上传一个名为an75.php的webshell文件,文件上传之后的路径为:http://127.0.0.1/dvwa/hackable/uploads/an75.php。
![](http://s3.51cto.com/wyfs02/M00/79/37/wKioL1aLvWnyrnRnAACQGs_PgKc994.png)
在DVWA中选择Upload,首先分析low级别的代码:
![](http://s3.51cto.com/wyfs02/M00/79/39/wKiom1aLvUKyOKO6AADCOpQqumw960.png)
首先站点通过upload参数以POST方式来接收被上传的文件,然后指定文件上传路径为“网站根目录/hackable/uploads”,文件上传到网站之后的名字仍沿用原先的名字。
接下来利用$_FILES变量来获取上传文件的各种信息。$_FILES变量与$_GET、$_POST类似,它专门用于获取上传文件的各种信息。
“$_FILES['uploaded']['name']”,用于获取客户端文件的原名称,
“$_FILES['uploaded']['tmp_name']”, 用于获取文件被上传后在服务端储存的临时文件名。
语句“move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)”表示将上传后的文件移动到变量$target_path所指定的新位置,如果这个函数成功执行,则输出“succesfully uploaded!”,否则输出“Your image was not uploaded”。
可以看出,在low级别中,没有对上传的文件进行任何过滤,因而我们可以直接将php木马文件上传到服务器中。比如上传一个名为an75.php的webshell文件,文件上传之后的路径为:http://127.0.0.1/dvwa/hackable/uploads/an75.php。
![](http://s3.51cto.com/wyfs02/M00/79/37/wKioL1aLvWnyrnRnAACQGs_PgKc994.png)
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料