草庐IT

总结CTF中常用的一些脚本(可保存)

1.不知道JPG长宽爆破importzlibimportstructimportbinasciiimportosimportrefile='flag.jpg'fr=open(file,'rb').read()#print(fr)i=fr.find(b'\xff\xc0')headdata=fr[0:i+5]heightdata=fr[i+5:i+7]widthdata=fr[i+7:i+9]remaindata=fr[i+9::]print(headdata)print(heightdata)print(widthdata)#print(remaindata)path=os.getcwd()t

攻防世界ctf web easyphp题解wp

第一步,用科学计数法绕过a=1e9if(isset($a)&&intval($a)>6000000&&strlen($a)第二步,用php代码编写MD5碰撞脚本得到b=53724for($i=1;$i".md5($i);}}第三步,绕过is_numeric函数$c=(array)json_decode(@$_GET['c']);#接收json格式的字符串并将其转化为数组c={"m":"2033%00"}#使用%00可以绕过is_numeric函数第四步,绕过is_array函数c={"m":"2033%00","n":[[1]]} 第五步,绕过array_search函数c={"m":"203

ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5

一、首先是MD5()函数的作用?MD5()函数的作用是计算字符串的MD5散列。返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE。二、PHP==弱类型比较绕过?代码:highlight_file(__FILE__);error_reporting(0);$flag="flag{H3rmesk1t_is_a_loser}";$val1=$_GET['val1'];$val2=$_GET['val2'];if(isset($_GET['val1'])andisset($_GET['val2'])){ if($_GET['val1']!=$_GET['val2']) { if((m

ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5

一、首先是MD5()函数的作用?MD5()函数的作用是计算字符串的MD5散列。返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE。二、PHP==弱类型比较绕过?代码:highlight_file(__FILE__);error_reporting(0);$flag="flag{H3rmesk1t_is_a_loser}";$val1=$_GET['val1'];$val2=$_GET['val2'];if(isset($_GET['val1'])andisset($_GET['val2'])){ if($_GET['val1']!=$_GET['val2']) { if((m

攻防世界pwn难度1

1.pwnstack首先用IDA进行静态分析可以看到有一个输入函数后门函数,直接执行system() 记下函数地址0x400762gdb动态分析  走到read函数的位置输入后查看栈 b8-10=168需要输入168个字节,再用backdoor的地址覆盖main+34的返回地址即可编写脚本frompwnimport*context(log_level='debug',arch='i386',os='linux')io=remote('地址',端口)padding=168pause()return_addr=0x400762payload=b'a'*padding+p64(return_addr

ctf.show 愚人杯

1、奇怪的压缩包下载附件解压提示要密码使用010editor打开,发现frFlags和deFlags的值都被修改了,这就会造成压缩包的伪加密,将它们都改回0。 另存为一个文件再打开,没有密码提示了 解压发现图片并不完整,反正高度并不够的,下面还有内容没有显示出来 放入010editor,可以看到CRC也报错了,看来高度确实被修改了 我们把高度修长 另存为再打开5oSa5Lq66lqC5b+r5LmQ77yB77yB77yB应该是一段密文,我尝试了很多密码解密但是并没有找到什么特别的信息便再次用010editor打开看,又找到了一个keyeXVyZW5qaWU=这个就很明显,是base64,解码

ctf.show 愚人杯

1、奇怪的压缩包下载附件解压提示要密码使用010editor打开,发现frFlags和deFlags的值都被修改了,这就会造成压缩包的伪加密,将它们都改回0。 另存为一个文件再打开,没有密码提示了 解压发现图片并不完整,反正高度并不够的,下面还有内容没有显示出来 放入010editor,可以看到CRC也报错了,看来高度确实被修改了 我们把高度修长 另存为再打开5oSa5Lq66lqC5b+r5LmQ77yB77yB77yB应该是一段密文,我尝试了很多密码解密但是并没有找到什么特别的信息便再次用010editor打开看,又找到了一个keyeXVyZW5qaWU=这个就很明显,是base64,解码

分享几个做CTF的网站

一、Bugku算是我用过的比较好用的一个刷题网站,里面有WEB、MISC(杂项)、Crypto(密码)、Reverse、PWN的题目。有时还会有AWD复现的比赛。网址:https://ctf.bugku.com/ 或者百度BugKu二、CTFHub CTFHub这个应该算是一个比较新的地方,里面也有很多好玩的。技能树里面也有很多提升的地方。 目前就这两个,而且的话,相对比价免费。因为送的币基本上用不玩。总之,先把这两个平台的题目都做完,然后的话在搞其他的也行,题目嘛,收集的多不如做的多,做的多不如掌握的多,那么到这里就结束了,有任何疑问私信,留言就行。我也会写一些攻略,分享一些工具。三、XCT

攻防世界hello pwn WP(pwn入门基础题)

题目网址:攻防世界下载文件,文件名太长了把文件改名为pwn把pwn文件放入kali里面file一下查看文件类型发现是一个64位的elf文件,加个运行权限,运行一下看看 使用checksec检查保护发现只开了NX保护。把pwn放入64位IDA中,F5反汇编一下main函数得到main函数伪代码__int64__fastcallmain(inta1,char**a2,char**a3){alarm(0x3Cu);setbuf(stdout,0LL);puts("~~welcometoctf~~");puts("letsgethelloworldforbof");read(0,&unk_601068

Kernel-Pwn-FGKASLR保护绕过

FGKASLRFGASLR(FunctionGranularKASLR)是KASLR的加强版,增加了更细粒度的地址随机化。因此在开启了FGASLR的内核中,即使泄露了内核的程序基地址也不能调用任意的内核函数。layout_randomized_image在fgkaslr.c文件中存在着随机化的明细。/*linux/arch/x86/boot/compressed/fgkaslr.c*/voidlayout_randomized_image(void*output,Elf64_Ehdr*ehdr,Elf64_Phdr*phdrs){ ...shnum=ehdr->e_shnum;//获取节区的数