存档

文章标签 ‘Linux’

Linux使用ROP进行栈溢出攻击

2013年6月25日 6 条评论

通过Protostar stack6演示Linux下ROP的简单使用,ROP就是所谓的Return Orientated Programming,早期也叫ret2libc,关于ROP的介绍可以看早期的文章《CVE2012-1889 Exploit编写(三)》,思路是一样的,只是平台换到了Linux下而已。
0×01. __builtin_return_address函数
先介绍下__builtin_return_address这个函数,这个函数接收一个参数,可以是0,1,2等。__bu[......]

继续阅读

分类: CTF, Linux安全 标签: , , , ,

Linux GOT与PLT

2013年6月19日 2 条评论

读《深入理解计算机系统》第七章《链接》笔记。

在ELF文件的动态连接机制中,每一个外部定义的符号在全局偏移表 (Global Offset Table,GOT)中有相应的条目,如果符号是函数则在过程连接表(Procedure Linkage Table,PLT)中也有相应的条目,且一个PLT条目对应一个GOT条目。以简单的例子观察GOT与PLT的变化机制。

其实就是第一次调用函数之后,会修改GOT条目的内容,第一次相对来说慢一点,以后快一点。有点像Windows下PE文件的导出表条目中的FirstThunk和OriginalFirstThunk的东西。Linux的东西刚接触,如有错误,欢迎指正。

下面是一个简单的Hello World程序:[......]

分类: CTF, Linux安全 标签: , ,

GDB调试手册

2010年12月13日 2 条评论

Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。(Windows需要安装MinGW或者CygWin并且需要配置环境变量才可以使用)
 

GDB 命令行参数
启动 GDB:
l&nbs[......]

继续阅读

分类: C语言 标签: , , ,

第二届顶嵌杯决赛解题报告与总结

2010年12月4日 9 条评论

第二届顶嵌杯决赛已经结束,必须从中总结一些经验:
1.太过依赖于C++标准库
以前做题目时,只要能够用到C++标准库里面的地方,我都会用到,为什么?就是因为方便。这次B题BFS,结果悲剧到在队列这个数据结构上面卡了很久,囧。
2.忘了及时刷榜
一到手就看了A题,24点,很熟悉的题目。于是开始做。然而此时,B题已经很快有人过了。于是又转过去看B题,才发现是个原始的BFS。
3.对Linux还不够熟悉
在比赛之前,我特地进入了Ubuntu,打开Eclipse写代码,然而,对于调试,我还差的很远。以至[......]

继续阅读

分类: 其他题解 标签: , , , , ,

GoDaddy域名转发

2010年10月14日 没有评论

目前采用301重定向实现,很简单的。我把www.programlife.org重定向到了本站www.programlife.net。下面说一下设置方法:

首先,建立一个文件,取名.htaccess,文件内容描述如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.programlife.org [NC]
RewriteRule ^(.*)$ http://www.programlife.net/$1 [L,R=301]
然后保存,上传到ww[......]

继续阅读