BUU re1】的更多相关文章

先shift+F12定位到关键句 然后crtl+X查看函数的交叉调用 定位到该函数处 F5查看伪代码 插入一段re1 re2题中都遇到的技巧: 很多时候出现的数字是asc码,热键R可以把数字转化成字母 像这样,这几个单引号里面的字符原来都是asc码形式,R热键把他们转化成现在的样子 图中的这个'0'和'o'是R热键转化ASC码而来 修改o为0那部分代码其实就是个for循环,只不过ida还没那么聪明 str2进行操作后就是flag 其中str2就是 虽然可以用word的替代功能 但我还是写个pyt…
前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看到url中的filehash 呢么意思就是如果知道cookie_secret的话,再结合md5的filename就可以读到/flllllag了把 其实到这里我就没什么思路了,对于render肯定存在模板的问题,百度了一下标题tornado Tornado是一种 Web 服务器软件的开源版本.Torn…
[安洵杯 2019]easy_serialize_php 直接给了源代码 <?php $function = @$_GET['f']; function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).'/i'; return preg_replace($filter,'',$img); } if($_SESSION){ uns…
前言:菜鸡误入buu,差点被打吐.不过学到了好多东西. 题目名称: (1)随便注 (2)高明的黑客 (3)CheckIn (4)Hack World (5)SSRF Me (6)piapiapia (7)Easy Java (8)Dropbox (9)Pythonginx (10)ikun (11)Online Tool (12)Web1 (13)Ping Ping Ping (14)shrine (15)easy_web (16)Love Math 题目: 随便注 涉及知识点: 堆叠注入 解析…
BUU XSS COURSE 1 & [CISCN2019 华东北赛区]Web2 XSS的题目没怎么做过,比赛基本上也没有(=_=),总结下今天做的两题 都是看赵总视频现学现做的,这里附上学习链接,大家记得白嫖hhh~ BUU XSS COURSE 1 题解 这题点进去就两个窗口,一个吐槽的,一个登陆. 但是没有注册页面所以没啥用,直接来吐槽 先尝试弹窗<script>alert(1)</script>,访问给的地址没有弹窗 换个标签试试<IMG SRC="…
BUU [GKCTF 2021]签到 1.题目概述 2.解题过程 追踪HTTP流 在下面发现了一串可疑字符 Base16转base64 放到010里看看 复制下来,去转字符 好像不是,再回去找找其他的 又发现了这个 看来flag与Base64编码有关,那么怎么才能得到呢? 可以利用base16转成base64,然后base64又可以转成字符,就这么干 又找出来2个base16字符串 复制到010 但是第一个解出来啥都没有 再解解第二个 看来有戏,但是解了一下没出来什么东西,还提示编码有误 看了看…
1.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列匹配某个句法规则的字符串. 在很多文本编辑器里,正则表达式通常被用来检索.替换那些匹配某个模式的文本. 2.re模块 2.1re 模块 使 Python语言拥有全部的正则表达式功能. re 模块提供了一些函数,这些函数使用一个模式字符串做为它们的第一个参数,用于正则表达式匹配和替换. 2.2re模块的使用…
逆向分析基础 0x01-0x0C 本笔记使用汇编指令为x86架构下汇编指令,ARM架构汇编指令不做介绍 0x01. 关于RE 逆向工程(Reverse Engineering RE) 逆向分析方法: 静态分析法:观察代码文件的外部特征.获取文件的类型(EXE.DLI.DOC.ZIP等).大小.PE头信息.Import/Export API.内部字符串.是否运行时解压缩.注册信息.调试信息.数字证书等多种信息,使用反汇编查看内部代码 动态分析法:通过调试来分析代码流,获取内存状态,可以在观察文件.…
IDA打开,调试选ELF,跟踪main函数 发现有一个not_the_flag函数,跟进去 这里判断了一下a1的值是否为42,大致判断引号里面的有可能是flag,直接放到Linux下运行 提交不要有任何的标签这句话,由此判断#后面的应该就是flag,但是提交发现是错误的 再一看题目,开头的sha1引起我的注意,于是经过多次尝试后,提交成功 FLAG ISCC{80ee2a3fe31da904c596d993f7f1de4827c1450a}…
解题过程 将题目给出的exe文件拖入ida中,查看main函数. 分析函数的逻辑,发现用户需要输出一个字符串,存储到变量v9中.如果v9的值与v5的值相等则会打印unk_413e90中的值,否则打印aFlag_0的值. 查看两个输出的值: 可以看到如果输入正确的话会打印flag get,这说明flag存储在v5中. 查看v5的值,发现没有值: 仔细查看main函数发现第10行有一个存储操作,将一个变量的值存储到了v5中.v5的值是在main函数执行过程中才被传入的,因此之前找不到值就可以理解了.…
练习文件下载:https://www.lanzous.com/i5lufub 1.使用IDA打开,进入main函数. 2.转为C代码 可以看到,输入v9之后,与v5比较,判断我们输入的flag是否正确.分别进入if...else判断之后的输出 正确输出flag get.. 错误输出flag不太对呦...  没办法,只能回到main看看v5 3.追踪v5 进入ds:xmmword_413E34 将16进制转换为字符 4.get flag! 因为汇编里面存储字符是采用小端格式,所以结果倒过来输就行.…
跟着赵师傅学CTF,这里是我的学习记录 ?file=/flag ?file=/var/log/nginx/access.log :包含ngnix的日志记录 在user-agent里面插入 :bbbbbbb<?php phpinfo();?>aaaaaaaaaaaaaa 接着试一下refer头 本来是想传一句话的,可是我的菜刀貌似出问题了,就只好传一个phpinfo做示范了Orz…
运行程序 32位ida打开,shift+f12查看运行时的中文,这里双击flag get字符串进入rdata段 双击后面的函数,进入text段,小的窗口视图里可以看见汇编代码调用函数的句子 右边的即是鼠标滑到函数上面出现的小窗口 tab键查看伪代码,v8是我们输入的,v4是需要相比较的,flag get最后的输出和v4有关 观看通篇代码寻找可疑的点,或者叫做关键的地方 双击打开v4,发现 ①在堆里的数据字符串变量名叫xmmword,那么v4是程序运行时加载进去的 ②返回两个寄存器地址,那么猜测x…
1.MD5 直接解. 2.url编码 直接解. 3.一眼就解密 base64. 4.看我回旋踢 对文本内容全部CaesarDecode. 5.摩丝 直接MorseDecode. 6.Quoted-printable http://tools.jb51.net/transcoding/decode_encode_tool. 7.password 很脑洞. 8.zip伪加密 HxD搜索504B,09改00. 9.Rabbit https://www.sojson.com/encrypt_rabbit…
从13行和18行的0x21(c规定十六进制必须用0x**表示)可以知道这个字符串就是33个字符 shift+e来提取出数组中的字符: 设这个数组是global数组 global[] = { 102, 10, 107, 12, 119, 38, 79, 46, 64, 17, 120, 13, 90, 59, 85, 17, 112, 25, 70, 31, 118, 34, 77, 35, 68, 14, 103, 6, 104, 15, 71, 50, 79, 0 }; 我们已知:0^0=0…
自己不细心,人家别的博客上写的明明没有那个冒号的,把linux命令好好学一学吧! nc后 ls 发现flag文件 cat就得到flag了…
拖入ida中shift+F12查找字符串就可以看到flag…
[护网杯 2018]easy_tornado 1.看看题目给了我们三个文件: /flag.txt url=?filename=/flag.txt&filehash=98c6aac4fbecf1b8604767afad2b65ef 告诉flag在/fllllllllllllag里面. 把fliename替换后报错: /welcome.txt url=?filename=/welcome.txt&filehash=b974cea7b45f12a2d446e8e7843ce2fb 题目是torn…
下载下来的是个elf文件,因为懒得上Linux,直接往IDA里扔, 切到字符串的那个窗口,发现Congratulation!,应该是程序成功执行的表示, 双击,按'x',回车跟入 找到主函数: 1 __int64 __fastcall main(__int64 a1, char **a2, char **a3) 2 { 3 signed int i; // [rsp+8h] [rbp-68h] 4 signed int j; // [rsp+Ch] [rbp-64h] 5 __int64 v6;…
目录: easy_calc 禁止套娃 EasyWeb Babysqli Easyweb easy_serialize_php 我有一个数据库 SSRFme 枯燥的抽奖 EasyPHP 题目解析: easy_calc 涉及 知识点: (1)php字符串解析特性绕过WAF (2)HTTP请求走私攻击 再贴一个学习链接 (3)取反操作 ~%D1 == '.' (46+209=255) ~$D0 == '/' (47+208=255) 其余ascii码类似. 解析: 进入题目的界面,审计js代码发现有c…
吐槽:去年没写出的题,现在终于可以上手了,昂哥nb 动调发现直接卡着不动了,怀疑是反调试,果然有好几处反调试 这里选择就不先nop了,先让程序跑起来,然后attach,在输入函数下面下个断点,attach可以理解成接管了程序的运行,个人理解 所以eip会停在输入函数的里面,我们需要在输入函数下面下断就ok了. emmm,下面的反调试已经被我nop掉了,并且发现这个函数已经被hook掉了,然后会陷入死循环,好家伙 然后开始动调,花指令动调的话,就不用去了,我尝试去,发现挺麻烦的,尤其是这个自修改的…
1. 下载好附件,发现是unity的题目,找到assembly.dll,用dnspy直接打开干,在引用下面就是实际的代码 2.找到了核心代码,发现逻辑也挺简单的, 输入的text,要和一串字符串进行base64解密后,再进行des cbc的解密相等,那么我们直接本地复现,或者动调也是可以的,c#不太熟,还是用本地复现的方式,算法也不太难,python安排上 import base64 from Crypto.Cipher import DES key = b"1\x002\x003\x004\x…
一.这和二进制幂数加密有些不同,可以从数字大小判断出来,超过4了,一般4以上已经可以表达出31以内了,所以是云影密码,以0为分隔符,01248组成的密码 二.python代码解密下 code="8842101220480224404014224202480122" sum=0 flag="" for i in code: if i!='0': sum+=int(i) else: print(sum) flag+=chr(sum+64) sum=0 flag+=chr…
一.由题目就可知是凯撒加密,但是是变异,说明有改动,但是凯撒的本质移位是不变的,将密文afZ_r9VYfScOeO_UL^RWUc,和flag进行比较,字符表查一下,发现 a:97 f:102 f:102 l:107 . . . 说明向后依次移动5位,6位....位 二.代码 str="afZ_r9VYfScOeO_UL^RWUc" i =5 flag="" for s in str: flag+=chr(ord(s)+i) i+=1 print(flag)…
上次没写出,这次认真分析了一下,发现自己的调试水平也有了上涨,也看了一些C++逆向的文章,尤其是stl,发现C++的oop还是挺复杂,这题还没考啥虚函数的还行了. 一.拖入ida,找到主函数,还是挺容易的 int __cdecl main(int argc, const char **argv, const char **envp) { double v3; // xmm0_8 __int64 v4; // rax __int64 v5; // rcx __int64 v6; // r8 __i…
下载附件是一个py文件,打开之后,发现是常规的rsa,不过有几个函数不知道. 这里记录一下, Fraction(a,b) 相当于 a/b Derivative(f(x),x) : 当x='x'时,f(x)的导数值 from Crypto.Util.number import getPrime,bytes_to_long from sympy import Derivative from fractions import Fraction from secret import flag p=get…
拖入ida,静态调试一下,本来想动调的,发现一直缺dll.没办法,只能头铁,静态 找到主函数,然后并没有发现什么,找了半天,没结果,后面也是看了大佬wp,才找到解决方式,感觉这种只能通过动调来找到关键函数,靠这种找字符串的,有点不靠谱,不过这种在没思路的情况下,是真的香. 先打印出welcome,后面一堆没啥用的,还有个函数检查cpu数量的....,然后这种没思路的情况,感觉还是从出题人的角度去考虑问题,不可能会无缘无故的,出现一个东西,所以找到了一个字符串,查看它的引用 还是找到了,关键函数,…
一.达芬奇 百度了下电影简介,发现了斐波那契数列,同时发现密文是由斐波那契数列移动而来的,有点像base64变种 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 1 233 3 2584 1346269 144 5 196418 21 1597 610…
一.路由器固件,给的是bin文件,要用binwalk将固件文件系统提取出来,同时binwalk的版本要完整不然解压不了文件,下面说的很清楚了. https://blog.csdn.net/QQ1084283172/article/details/65441110 一直安装失败,算是云做题吧,还没写完,待续,电脑一直鬼畜…
密文: ooo yyy ii w uuu ee uuuu yyy uuuu y w uuu i i rr w i i rr rrr uuuu rrr uuuu t ii uuuu i w u rrr ee www ee yyy eee www w tt ee 提示是键盘,然后发现这些字母是26键盘的第一行,上面有对应数字,并且位数在1到4位,说明是九键键盘,刚好和题目 意思对上了,这种题写法就是比如o,对应9,就在九键键盘上9的位置,看o有多少位,3位的话,就是9那个位置字符串的 第三个字符.…