`黑`标签下的文章

学习

缓冲区为啥不溢出

软件安全性分析课,里面花了很多时间讲缓冲区溢出的故事.

大一为了加入凝聚工作室,我也是查过相关的资料,也做过类似的实验,但都是瞎搞.

在老师给出例子之前,我一直把失败归结于自己的代码有问题,或者攻击方式有问题.

在看了老师的例子之后,我觉得我好像没写错什么…

Run directly

现在内核牛逼了呢!

检查到了pc指向非法地址,就直接被内核终止了,所以,我也没办法

Debug with GDB

GDB真是个牛逼的东西,可以反编译,可以打断点,可以查看堆栈地址数据……

只要我在执行非法内存之前加个断点,看看栈数据是不是变得乱七八糟了,我的实验目的就达到了.

根据老师说的

char c[20];
char a;

这玩意儿运行的时候,在栈上面的顺序是ca

所以只要用不安全的函数,冲破c的长度,就可以覆盖a的数据.

然而gdb断点的时候,我惊奇的发现顺序是ac…

于是乎我就换了个代码

char a;
char c[20];
char b;

发现,栈里面是abc…

这,这你让我怎么溢出??

还要再研究研究…不论我是否使用优化编译,结果都是这样的…

等我找到答案,再来更新这一篇!

阅读剩下更多

黑科技

图片的小秘密

搞了一下凝聚最新的招新题目,说起来我也算是凝聚的大粉丝了,5年了,每年都做.

每年都有图片的隐写术.

都是套路

我也从最早的只知道改个图片后缀名,用zip/unrar把它解压掉,到了后来的用了各种各样的新奇工具,对图片进行处理.

去年和之前的套路感觉差不多,好像是

--图片
|
|
--压缩包
    |
    |
    --图片--答案

只不过最后那个图片我没看懂它什么意思罢了~(那时候在考研…)

扑通掉坑里

今年的,竟然不套路了!

如果你也想搞搞看的话,先下载图片下来,不要看后面的文章

先安利一个工具foremost,以前用的binwalk只能算出偏移量,然后用了ultraEditor手动的分离文件…这个好累(虽然直接用dd命令也可以做,但是那时候我还太嫩~)

foremost不仅可以得到一个文件里面各个其他文件的偏移量,还可以将他们直接分离成单独的文件

foremost

可以看到,这次的图片里面依然有个rar!

兴高采烈的解压缩了它,看到一个flag.txt,又兴高采烈的打开了它.里面写着:

is this the flag??

感觉被骗了.不不不,感觉被套路了.

一脸懵逼,没有思路的时候,突然发现这个图片的缩略图是一个穿着黑丝的MM的腿,而打开之后显示的却是:

displayed

Mac OS X的Preview就是好~Linux和Windows都没有,喔哈哈哈哈哈哈

难道说…

缩略图!

马上去网上查了一下,图片和缩略图的关系~

原来缩略图不是系统根据原始图片生成的,而是在图片的EXIF中存着缩略图信息.

然后又跑过去查EXIF,在EXIF中发现了一些小秘密.

标签号 定义
0x010E 图像描述
0x0112 方向
0xA002 EXIF宽度信息
0xA003 EXIF高度信息
0x011A 水平分辨率
0x011B 垂直分辨率

EXIF高度和垂直分辨率,到底应该改那个呢?试一下就是知道了!

再次使用ultraEditor打开图片,检索A0 03,找到了原始写着的高度为512的hex:02 00.改成了1280的hex:05 00.保存!

结果发现,只是缩略图变大了,原始图片没变大~

不过在缩略图里面发现了一些红色的小点点,估计是flag!

再次用ultraEditor打开图片,检索01 1B,依然是02 00,把他修改成了05 00.保存!

成功了,果然是个黑丝福利

总结一下

隐写术实在是有意思~当然今年这个题目也不是无缘无故的出来的,据说是在微博上面,9个图片写着1,2,3…9.点击看大图的时候,却是帅哥.

做技术真是有趣~.~

在 CSI:Cyber 里面也有很多差不多的东西,分析员们也会查看图片的meta data(元数据),在里面发现了很多秘密.

最早网络大侠们把种子藏在图片里面,现在把图片藏在缩略图后面,真是越来越有意思了.看看明年的题目是什么吧~

阅读剩下更多

返回顶部