i春秋——“百度杯”CTF比赛 十月场——GetFlag(md5碰撞、文件包含、网站绝对路径)
需要提交的captcha满足等式,肯定就是MD5碰撞了

附上脚本
import hashlib def func(md5_val):
for x in range(1,100000000):
md5_value=hashlib.md5(str(x)).hexdigest()
if md5_value[:6]==md5_val:
return str(x) print func(raw_input('md5_val:')) raw_input('ok')
尝试后发现登录处存在sql注入,于是用 ' or 1# 登录



看了下下载的几个文件发现都没有什么用,不过这个下载链接让我想到了文件包含/Challenges/file/download.php?f=
尝试读取index.php,构造../inedx.php,但是发现只要文件名包含 任意字符+斜杠 都会提示 flag{wow!!!but not true},看来是屏蔽了目录穿越,多次尝试绕过无果,后来看了眼其他wp,这里并没有屏蔽斜杠,所以还可以用绝对路径,通过返回的header " X-Powered-By: PHP/5.5.9-1ubuntu4.19 " 得知服务器系统是ubuntu,一般网站的路径即为 /var/www/html 。

所以构造/Challenges/file/download.php?f=/var/www/html/Challenges/flag.php

看到这个 " echo file_get_contents("helloctf.php"); " 想直接包含改文件,但是发现提示error,所以继续审代码
第一眼觉得很麻烦,不过细看一下觉得这个实在没难度,构造 flag=flag; ,注意有分号的,因为eval()执行的是一句完整的php代码,当然要以分号结尾。然后eval() 那句执行的就是 $spaceone = flag; ,然后没反应? 查看源码就可以看见了

i春秋——“百度杯”CTF比赛 十月场——GetFlag(md5碰撞、文件包含、网站绝对路径)的更多相关文章
- “百度杯”CTF比赛 十月场-Getflag(md5碰撞+sql注入+网站绝对路径)
进去md5碰撞,贴一下脚本代码 import hashlib def md5(value): return hashlib.md5(str(value).encode("utf-8" ...
- [i春秋]“百度杯”CTF比赛 十月场-Hash
前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash 如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...
- i春秋 百度杯”CTF比赛 十月场 login
出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的logi ...
- i春秋-“百度杯”CTF比赛 十月场-Login
源码发下提示 尝试登陆 得到个什么鬼, 但是相应包里发现个可疑的东西 // CTF中的0 和1 这些一般都有套路的 然后在请求头里 改为 1 ##代码审计来了.. 分析了半天 后来看了别人的 ...
- i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor
0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们 ...
- i春秋——“百度杯”CTF比赛 十月场——EXEC(命令执行、带外通道传输数据)
查看源码得知由vim编写,所以查找备份以及交换文件 找到 /.index.php.swp ,下载后用vim -r恢复该文件即可得到源码 1 <html> 2 <head> 3 ...
- i春秋——“百度杯”CTF比赛 十月场——Not Found(http请求方法,client-ip伪造ip)
这道题也是让我很迷... 打开就是not found,让我一度以为是服务器挂了,细看发现有个404.php 访问也没发现什么东西,只有来自出题人的嘲讽 haha~ 不过在首页的header中发现个奇怪 ...
- i春秋——“百度杯”CTF比赛 十月场——Vld(Vulcan Logic Dumper 、php opcode、sql 报错注入)
打开题目看到提示 "do you know Vulcan Logic Dumper?" ,再查看源码看到"<!-- index.php.txt ?>" ...
- i春秋——“百度杯”CTF比赛 十月场——Login
根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 <?php inc ...
随机推荐
- E10【选款式】I don't like that style
核心句型 I don't like that style. 我不喜欢那个款式 场景对话 A:Look at those shoes. They're really nice. 瞧那双鞋.可真漂亮 B: ...
- SQLAlchemy查询数据库数据
首先创建模型,在数据库里面生成表,然后填入数据,如下 # 定义orm,数据模型 class Test(db.Model): __tablename__ = 'test' id = db.Column( ...
- Maven 中 dependencyManagement 元素,知识点
Maven 提供的 dependencyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性.在 dependencyManagement 元素下的依赖声明不会 ...
- Codeforces Round #549 (Div. 2) D 数学
https://codeforces.com/contest/1143/problem/D 题意 有nk个城市,第1,k+1,2k+1,...,(n-1)k+1城市有餐厅,你每次能走l距离,a为起始位 ...
- luoguP4213 【模板】杜教筛(Sum)杜教筛
链接 luogu 思路 为了做hdu来学杜教筛. 杜教筛模板题. 卡常数,我加了register居然跑到不到800ms. 太深了. 代码 // luogu-judger-enable-o2 #incl ...
- opera11以下添加搜索引擎的办法
opera11以下:首选项,搜索引擎设置添加搜索引擎,地址是https://www.baidu.com/s?wd=%s 这是从其他浏览器里面得到的. opera11以上: http://www.bai ...
- 使用PAC文件来管理代理连接
生成PAC文件 谷歌浏览器插件商店安装SwitchyOmega,找到立即更新模式,然后导出PAC文件 使用PAC文件 pac采用js编写 Windows Windows上面使用PAC文件很简单,新建一 ...
- 虚拟路由冗余(VRRP)协议
1. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还 ...
- oracle--JOB任务
1.创建一张测试表 -- Create table create table A8 ( a1 VARCHAR2(500) ) tablespace TT1 pctfree 10 initrans 1 ...
- 实现100以内的素数输出(Python与C++对比)
今天从链接http://www.2cto.com/kf/201302/187699.html中看到了Python实现100以内的素数输出的算法,颇受感触.尤其是被其中的Python的列表生成器的使用方 ...