逆向-攻防世界-CSAW2013Reversing2】的更多相关文章

运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b.然后跟进函数,单步执行. 拿到了flag. 原程序是在00B610B9处弹窗,我们将00B610A3的指令修改为JE SHORT 00B610B9.保存修改,然后就会弹窗真正的flag.…
查壳,nSpack壳,直接用软件脱壳,IDA载入程序. 很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据.dwrd占4字节. 这道题主要记录一下刚学到的,直接在IDA使用python脚本. from ida_bytes import get_bytes s = ''data = get_bytes(0x402130, 0x402140-0x402130)r = get_bytes(0x402150, 0x402200-0x402150)print(len(r…
题目提示是走迷宫. IDA载入程序分析. 输入字符长度必须是24,开头必须是nctf{,结尾必须是}.在125处按R就可以变成字符. sub_400650和sub_400660是关键函数,分析sub_400650. v10的下一字节减1. sub_400660v10的下一字节加1. 分析这两个函数. v10减1. v10加1 再看最后的比较函数. v9就是刚才的v10,应该是IDA自己随机的吧. 进入函数a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10. 经过分…
iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数 然后进入主函数, 经过分析,可以得出:输入的字符要等于  经过处理的v7和v8的异或.v8很明显,但是v7是怎么回事呢,新手没有遇到过,所以上网查看资料,LL是长长整型,v7要转换为16进制然后在转换为字符串,而且字符是小端序,所以把得到的字符翻转然后和v8的每一位进行异或.贴出脚本: a = 'harambe'b = ':\"AL_RT^L*.?+6/46'print(b)tmp = ''for i in ran…
看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串.IDA载入程序查找入口函数, main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中, 很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容易得出flag,但在此我们学习gdb-peda的使用,我也是第一次使用.... 找到这个函数的地址0x08048658,然后下断点运行,运行的的命令是r.下断点:b *0x08048658.然后使用n…
测试文件:https://adworld.xctf.org.cn/media/task/attachments/3f35642056324371b913687e770e97e6.exe 1.准备 打开测试文件,flag内容为乱码. 检测文件信息 获得信息 32位文件 OllyDbg打开 2.IDA打开 将main函数反编译为C语言文件后,得到 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {…
运行程序 flag显示乱码 IDA打开查看程序逻辑 1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) 2 { 3 int v3; // ecx 4 CHAR *lpMem; // [esp+8h] [ebp-Ch] 5 HANDLE hHeap; // [esp+10h] [ebp-4h] 6 7 hHeap = HeapCreate(0x40000u, 0, 0); 8 lpMem = (…
攻防世界逆向:game wp 攻防世界逆向新手区的一道题目. 是一道windows的creak,动态调试打开是这样的: 题目说明是让屏幕上所有的图像都亮之后,会出现flag,看来应该是可以玩出来的. IDA打开后,发现是静态链接.我首先shift 12看了一下,然后去rodata段看看能不能找出flag对应的字符串,无果. 然后找到主调函数,发现程序结束后,与flag对应的函数如下: 这样看来,把对应的变量存储在一个文件里,简单做一个算法逆向就可以了.脚本如下: ls1=[] ls2=[] i=…
这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进一步调查发现小A当时所打开的附件其实是一个伪装成word文档的恶意可执行文件. 赛题描述: 请在试着分析evil.exe和其所下载的x.jpg, 从中找出key. 评分标准: 密钥正确则可进入下一题. 攻防世界只给了exe文件,没有给x.jpg文件,(每个人的x.jpg文件是不同的,解得的flag也是不一样的…
APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diagnostics; 3 using System.IO; 4 using System.Net.Sockets; 5 using System.Text; 6 7 namespace Rev_100 8 { 9 // Token: 0x02000002 RID: 2 10 internal class…
攻防世界系列:web2 1.代码审计  知识补充: strrev(string):反转字符串 strlen(string):字符串长度 substr(string,start,length):截取字符(从第start位开始,取length个字符) ord(string):把字符转为ASCII chr():把ASCII转为对应字符 str_rot13(string):用ROT13编码(把字符在字母表中的位置向前移动13位,非字符不变,编码解码由同一函数完成) 2.根据加密算法,编写解密脚本 <?p…
攻防世界 WEB 高手进阶区 NSCTF web2 Writeup 题目介绍 题目考点 php基本函数语法 加密解密函数 base64_decode().str_rot13() 字符串反转函数 strrev() 返回字符串一部分函数 substr() Writeup 进入题目直接给出php源码 <?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; function encode($…
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5063 百度 robots协议 robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它[1]  .robots.txt是一个协议,而不是一个命令.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.robots.txt文件…
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5062 了解http请求方法,此处考察get和post两个最常用的请求方法. HTTP协议中共定义了八种方法或者叫“动作”来表明对Request-URI指定的资源的不同操作方式,具体介绍如下: GET:向特定的资源发出请求. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件).数据被包含在请…
攻防世界 web进阶练习 NewsCenter   题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有什么变化,考虑SQL注入.随便输入234234234,用burp抓包,发现是post方式,直接用sqlmap爆破.将http头保存为1.txt,试试用sqlmap爆数据库查看news数据库内容sqlmap -r 1.txt -D news --dump得到flag!…
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int __cdecl main() { int buf; // [esp+2Ch] [ebp-6Ch] int v2; // [esp+30h] [ebp-68h] int v3; // [esp+34h] [ebp-64h] int v4; // [esp+38h] [ebp-60h] int v5;…
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 robots4 0x04 backup6 0x05 Cookie7 0x06 disabled button8 0x07 simple js9 0x08 XFF Referer10 0x09 weak auth(弱口令密码)12 0x10 web shell15 0x11 command_executio…
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经执行成功,执行的是一个ping命令,一开始想的应该是命令拼接执行,但是输入任何有关拼接的字符串都会提示invalid url 说明系统对这些字符串都进行了过滤,fuzz测试后发现只有@没有被过滤. 且当输入@时,会将@编码为%40 尝试在url处输入宽字符,比如%bf 出现报错信息,是一段html代…
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面. [目标] 掌握robots协议的知识 [环境] windows [工具] 扫目录脚本dirsearch(项目地址:https://github.com/maurosoria/…
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod 777 XXX加上./XXX 运行一下 静态调试 打开IDA-64,一路默认,看到main函数: 可以看到执行的功能是先输入字符串长度,然后输入字符串,接着会返回指定长度的输入字符串.如果一开始输入的数字小于16,会指定长度为16.可以看到很明显的栈溢出漏洞.但是又有些不一样,看大神WP才知道需要s…
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间  明明没算错呀  hhhh  不仅仅是Morse 一看首先肯定要用morse解码 解密morse密码工具https://tool.lu/morse/ 你看提示maybe have 什么什么什么 就知道还要再解码 再看后面的很像培根密码 解密培根密码工具https://tool.bugku.com/peigen/…
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在网上看到可以在url前面插入view-source:来查看网页源代码 第二题 get_post 题目描述点明了该题要用到关于http的两种请求方式,那么就要学习一下http的几种请求方式. 查阅各种博客之后,发现get的请求方式直接在url框内输入就好,而post的请求方式需要用其他方式写入参数,有…
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js 第八题xff_referer 第九题weak_auth 第十题webshell 第十一题command_execution 第十二题simple_php 第一题view_source f12查看源码 第二题get_post 1按照提示先get一个a=1,在post一个b=2,就行 第三题robots…
攻防世界入门的题目 view source 禁用右键,F12审查元素 get post hackbar进行post robots 直接访问robots.txt,发现f1ag_1s_h3re.ph文件,直接访问 backup 备份文件一般是在后缀名后加.swp,.bak 本题尝试index.php.bak成功获取源码 cookie burp抓包,发现提示,查看cookie.php,在响应头发现flag 火狐,F12,网络,cookie可以看到提示,访问之后再看响应头即可 disabled_butt…
0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. 追踪tcp流,发现是FTP传输文件,传输的是一张图片.(心想难不成直接图片就显示了flag) 先尝试能不能导出文件,额,不行,试了一会发现,还是自己找数据吧. 会发现3.4.6.11.13.14处发现png图片的数据流以及7.8处的base64加密的假的flag值. 仔细观察发现4和11处的数据不…
攻防世界-Web_php_include   (考察的是文件包含) 打开页面是这样一段代码从代码中得知page中带有php://的都会被替换成空 str_replace()以其他字符替换字符串中的一些字符(区分大小写) strstr() 查找字符串首次出现的位置.返回字符串剩余部分 <?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($page, "php://"…
Crib dragging attack 在开始了解 Crib dragging attack 之前,先来理一理 异或. 异或加密 [详情请戳这里] XOR 加密简介 异或加密特性: ① 两个值相同时,返回false,否则返回true . ② 如果对一个值连续做两次 XOR,会返回这个值本身. ③ 加密应用: 假设原始信息是message,密钥是key,第一次 XOR 会得到加密文本cipherText.对方拿到以后,再用key做一次 XOR 运算,就会还原得到message. ④ 一次性密码本…
RSA256 [攻防世界] 题目链接 [RSA256] 下载附件得到两个文件. 猜测第一个 txt 文件 可能为RSA加密密文 ,第二个估计就是密钥.依次打开看看: 果然如此. 目标: 寻找 n.e.q.p 利用 openssl 查看 e 打开 kali ,利用 openssl 工具 输入以下命令: openssl rsa -pubin -text -modulus -in gy.key 得到: e: 65537 (0x10001) 常见 openssl rsa 命令 如下: openssl r…
维吉尼亚密码 维吉尼亚密码是使用一系列 凯撒密码 组成密码字母表的加密算法,属于多表密码的一种简单形式. 加密原理 维吉尼亚密码的前身,是我们熟悉的凯撒密码. 凯撒密码的加密方式是依靠一张字母表中的每一个字母做一定的偏移.密文生成过程中,其偏移量相等. 而,升级版的维吉尼亚密码则是在原有基础上,让相等偏移量变为不等的偏移量.以给出的密钥来确定密文的偏移量.在一定程度上,加大了解密的难度. 当然原理还是一致的,都是依靠偏移量进行加密. 简单例子 这是一张用于加密的字母表. 比如给出的 明文是 HE…
Poem Codes Poem Code 最显著的特点就是一首诗歌. 详情请戳这里 让我们一起来过滤一遍这个神奇的加密过程~ ① 给出一首诗歌 for my purpose holds to sail beyond the sunset, and the baths of all the western stars until I die. ② 给出5个关键单词. "for", "sail", "all", "stars",…