攻防世界--Shuffle
测试文件:https://adworld.xctf.org.cn/media/task/attachments/a03353e605bc436798a7cabfb11be073
1.准备
获得信息
- 32位文件
2.IDA打开
- int __cdecl main(int argc, const char **argv, const char **envp)
- {
- time_t v3; // ebx
- __pid_t v4; // eax
- unsigned int v5; // ST18_4
- unsigned int v6; // ST1C_4
- char v7; // ST20_1
- signed int i; // [esp+14h] [ebp-44h]
- char s; // [esp+24h] [ebp-34h]
- char v11; // [esp+25h] [ebp-33h]
- char v12; // [esp+26h] [ebp-32h]
- char v13; // [esp+27h] [ebp-31h]
- char v14; // [esp+28h] [ebp-30h]
- char v15; // [esp+29h] [ebp-2Fh]
- char v16; // [esp+2Ah] [ebp-2Eh]
- char v17; // [esp+2Bh] [ebp-2Dh]
- char v18; // [esp+2Ch] [ebp-2Ch]
- char v19; // [esp+2Dh] [ebp-2Bh]
- char v20; // [esp+2Eh] [ebp-2Ah]
- char v21; // [esp+2Fh] [ebp-29h]
- char v22; // [esp+30h] [ebp-28h]
- char v23; // [esp+31h] [ebp-27h]
- char v24; // [esp+32h] [ebp-26h]
- char v25; // [esp+33h] [ebp-25h]
- char v26; // [esp+34h] [ebp-24h]
- char v27; // [esp+35h] [ebp-23h]
- char v28; // [esp+36h] [ebp-22h]
- char v29; // [esp+37h] [ebp-21h]
- char v30; // [esp+38h] [ebp-20h]
- char v31; // [esp+39h] [ebp-1Fh]
- char v32; // [esp+3Ah] [ebp-1Eh]
- char v33; // [esp+3Bh] [ebp-1Dh]
- char v34; // [esp+3Ch] [ebp-1Ch]
- char v35; // [esp+3Dh] [ebp-1Bh]
- char v36; // [esp+3Eh] [ebp-1Ah]
- char v37; // [esp+3Fh] [ebp-19h]
- char v38; // [esp+40h] [ebp-18h]
- char v39; // [esp+41h] [ebp-17h]
- char v40; // [esp+42h] [ebp-16h]
- char v41; // [esp+43h] [ebp-15h]
- char v42; // [esp+44h] [ebp-14h]
- char v43; // [esp+45h] [ebp-13h]
- char v44; // [esp+46h] [ebp-12h]
- char v45; // [esp+47h] [ebp-11h]
- char v46; // [esp+48h] [ebp-10h]
- char v47; // [esp+49h] [ebp-Fh]
- char v48; // [esp+4Ah] [ebp-Eh]
- char v49; // [esp+4Bh] [ebp-Dh]
- unsigned int v50; // [esp+4Ch] [ebp-Ch]
- v50 = __readgsdword(0x14u);
- s = ;
- v11 = 'E';
- v12 = 'C';
- v13 = 'C';
- v14 = 'O';
- v15 = 'N';
- v16 = '{';
- v17 = 'W';
- v18 = 'e';
- v19 = 'l';
- v20 = 'c';
- v21 = 'o';
- v22 = 'm';
- v23 = 'e';
- v24 = ' ';
- v25 = 't';
- v26 = 'o';
- v27 = ' ';
- v28 = 't';
- v29 = 'h';
- v30 = 'e';
- v31 = ' ';
- v32 = 'S';
- v33 = 'E';
- v34 = 'C';
- v35 = 'C';
- v36 = 'O';
- v37 = 'N';
- v38 = ' ';
- v39 = '';
- v40 = '';
- v41 = '';
- v42 = '';
- v43 = ' ';
- v44 = 'C';
- v45 = 'T';
- v46 = 'F';
- v47 = '!';
- v48 = '}';
- v49 = '\0';
- v3 = time();
- v4 = getpid();
- srand(v3 + v4);
- for ( i = ; i <= ; ++i )
- {
- v5 = rand() % 0x28u;
- v6 = rand() % 0x28u;
- v7 = *(&s + v5);
- *(&s + v5) = *(&s + v6);
- *(&s + v6) = v7;
- }
- puts(&s);
- return ;
- }
3.get flag!
ECCON{Welcome to the SECCON 2014 CTF!}
攻防世界--Shuffle的更多相关文章
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- CTF--web 攻防世界web题 get_post
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- 【攻防世界】高手进阶 pwn200 WP
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
- 攻防世界 robots题
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...
- 【攻防世界】 高手进阶区 Recho WP
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...
- CTF -攻防世界-crypto新手区(5~11)
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间 明明没算错 ...
随机推荐
- 树——binary-tree-postorder-traversal(树的前序遍历)
问题: Given a binary tree, return the preorder traversal of its nodes' values. For example: Given bina ...
- python如何查看内存占用空间
我们如何查看变量占用了多少内存空间呢 首先我们引用sys模块,在使用getsizeof()方法 import sys L = [x for x in range(10000)] print(sys.g ...
- [sqlmap 源码阅读] heuristicCheckSqlInjection 探索式注入
上面是探索式注入时大致调用过程,注入 PAYLOAD 1.)("'(.((. , 数据库报错,通过报错信息获取网站数据库类型(kb.dbms),并将保存报错(lasterrorpage). ...
- cx_Oracle python模块安装
1. 需要从oracle网站下载一下两个包 instantclient-basic-linux.x64-11.2.0.4.0.zip instantclient-sdk-linux.x64-11.2. ...
- java 关键字volatile
一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...
- Django组件---Django请求生命周期和中间件
Django组件---Django请求生命周期和中间件 Django请求生命周期 说明: client代表浏览器,浏览器的内部为我们封装了socket,Django的WSGI模块也为我们封装了sock ...
- selenium 自动化的坑(4)
今天要讲的坑是....输入框有请求的. 问题是这样的,我们公司的业务有些输入框选项是联想的,这些联想都会发送请求,怎么办呢? 先 正常输入,然后强制等待几秒,最好多等会,谁知道第三方会不会有问题,这里 ...
- Test 6.24 T2 集合
问题描述 有一个可重集合,一开始只有一个元素 0. 你可以进行若干轮操作,每轮你需要对集合中每个元素 x 执行以下三种操作之一: 将 x 变为 x+1; 选择两个非负整数 y,z 满足 y+z=x , ...
- 调用搜狐IP地址库,根据不同访问者的IP,显示访问地址
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type ...
- 日志管理工具logrotate
工作所需,需要管理脚本的打印日志,百度一圈,发现了logrotate这款工具,经测试确实挺好的! 话不多说,直接上重点,以便于以后需要时查看 命令: whereis logrotate 可以看到log ...