el-upload上传文件 前后端_文件上传-getimagesize()

e82ab7ca9506934b69d1f4879e441328.png

发生在服务端的一种绕过,假如服务端检查上传图片的宽度和高度,限制只能上传图片格式,那么怎么上传我们的PHP文件shellcode呢?

在线实验环境: http:// 144.34.129.116/ (请勿攻击,抓住看我不打死你哦)

维护服务器需要一定费用,本网站有效维护到2019年9月!赞助请打赏文章,会积好运。


兄弟来试试隐写术吧 ~

第一步:准备一张图片,

第二步:准备要上传的shellcode文件,

第三步:发动隐写术,将shellcode写进图片中,

第四步:上传隐写术生成的图片。

bfc3728e39ae281bcc487cb2ffcbd7ae.png

成功释放隐写术中的shellcode,成功!


前端代码:

<!-- index4.html by ailx10 -->
<html>
<head>
<title>ailx10</title>
</head>
<body>



<form action="upload4.php" method="post" enctype="multipart/form-data">
<label for="file">FileName:</label>
<input type="file" name="file" id="file"  value="file"  /><br />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>

后台代码:

// upload4.php by ailx10
<?php
if($_FILES["file"]["error"] > 0)
{
    echo "Return Code:" . $_FILES["file"]["error"] . "<br />";
}
else
{
    if(!getimagesize($_FILES["file"]["tmp_name"]))
    {
        exit("Not allowed suffixes");
    }

    echo "Upload:" . $_FILES["file"]["name"] . "<br />";
    echo "Type:" . $_FILES["file"]["type"] . "<br />";
    echo "Size:" . ($_FILES["file"]["size"]/1024) . " kb<br />";
    echo "Temp file:" . $_FILES["file"]["tmp_name"] . "<br />";
    if(file_exists("upload/" . $_FILES["file"]["name"]))
    {
        echo $_FILES["file"]["name"] . "already exists.";
    }
    else
    {
        move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
        echo "Stored in:" . "upload/" . $_FILES["file"]["name"];
    }
}
?>

参考文献:《Web安全攻防:渗透测试实战指南》电子工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值