记事本

SimpleVM

这是tiger给的一个ELF文件,普通用户似乎无法执行?以root执行后要输入东西,然后有判断 具体地,用readelf -a可以发现文件是比较畸形的。而且entry point还在mmap映射区域之外?但从网上搜的结果,映射时还是会映射page size的整数倍;而想这个文件区域13c7之后还有内容,也会被映射到内存。所以entry point处的内容为 hexdump -C -v -s...

vortex13

这道题和vortex12一样是猥琐流…… 题目说了栈还是不能执行,所以还是ROP。但这里陷入了思维定式,主要还是因为vortex12的影响,让我觉得还要修改got。但ROP不只是修改got,直接改返回地址也是可以的;而vortex12里也可以在主线程里改返回地址,但那样没用因为主线程已经去掉euid了。这道题的输入限制在20个字符,如果想修改got几乎是不可能的了…… 具体地,想要直接修...

vortex12

这道题和vortex8几乎是一样的,只是题目说了栈不能执行,所以只能ROP了。我开始还想用mprotect来恢复执行权限,但要传的参数里有\x00,比如地址必须是page size的倍数;而strcpy遇到\x00就停止了,所以最后没能用mprotect 思路还是和vortex8是一样的:在主线程里修改PLT,然后子线程里就调用了我们提供的函数,只是这里我们提供库函数system。 在主...

金陵科技杯信息安全大赛

做了漏洞利用类的第一题, Q11。反汇编发现是socket编程,那些enum实在是懒得找对应意思了,应该是socket(2,1,0)就开一个TCP 主要麻烦是只读5个字符,然后传给system()执行。看了下没发现溢出…… 后来想到可以利用重定向。一般来说连接过去的fd应该是4,于是执行sh<&4就会把我们的输入传给sh作为输入,但sh的输出没办法传回来 我先是试着用nc...

vortex11

这道题是在strawdog提示下做出来的。他也说其实可以不用去读phk代码,我连链接的文章都没看完…… 还是一步步来,打印变量的地址,发现第一次malloc(0x10)和malloc(0x800)之间相距0x1000+48。这0x1000用来放两个0x800,然后那48bytes应该就是一些信息了。 打印那部分内存,并对应到struct pginfo,void *page的地址正好是这个...

过滤了分号

过滤了分号后,不能结束语句了,但可以通过二元运算符来。比如 var a = 1 + alert(2) 加号也可以换成减号、乘、除、并、或、异或

sublime 3 build 3065

昨天打开subl3,提示说有新版本,于是更新到build 3065。但还需要稍微破解一下,因为是免费版。 试着enter key,会说key不对;用IDA分析,查找字符串”invalid”,然后基本上锁定了某个关键变量cs:…,在BSS段内,很有可能是保存验证信息的全局变量 然后看这家伙的xref,看了下对其读操作的几个,基本确定这个变量是1的话就验证成功;再找到所有对其写的地方,很多都...

stegano attachment

http://www.wechall.net/challenge/training/stegano/attachment/index.php 下载图片,用Stegsolve打开,发现有additional bytes,共136。于是 tail -c 136 attachment.jpe > 1.zip 解压后得到密码 但是后来看论坛,直接解压图片都可以。因为 zips sto...

+Ma’s reversing

level 0 看html源码,信息在注释里面,用的是substitution。 在http://www.quipqiup.com/index.php,得到 ”THE PASSWORD IS THE SURNAME OF THE MAN WHO SAID THE HIGHEST KNOWLEDGE IS TO KNOW THAT WE ARE SURROU...

HackThis!! main

level 9 点开request页面,发现要提交邮箱地址;提交我们的不行,再检查发现还有hidden的一个地址;修改使其显示出来,然后两个都改为我的邮箱再提交就好。