看看checksec

无聊,顺便看下trapkit检查安全防护的工具checksec(http://www.trapkit.de/tools/checksec.html)
1.检查用户权限
if [ $(/usr/bin/id -u) -eq 0 ] ;

2.RELRO选项支持
可以使重定位使用的GOT,PLT变为readonly
http://blog.csdn.net/melody_lu123/article/details/6939484

RELRO分为Full RELRO和Partial RELRO

if readelf -l $1 2>/dev/null | grep -q 'GNU_RELRO'; then 判断存在RELRO
if readelf -d $1 2>/dev/null | grep -q 'BIND_NOW'; then

3.栈canary支持
if readelf -s $1 2>/dev/null | grep -q '__stack_chk_fail'; then 判断存在canary

4.NX支持
if readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then 判断不支持NX

5.PIE支持(Position-Independent-Executable)
http://www.lingcc.com/2010/01/08/10609/
if readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; then 判断没有PIE
elif readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; then
if readelf -d $1 2>/dev/null | grep -q '(DEBUG)'; then 判断存在PIE

6.rpath / run path检查
防劫持
if readelf -d $1 2>/dev/null | grep -q 'rpath'; then
if readelf -d $1 2>/dev/null | grep -q 'runpath'; then

http://blog.csdn.net/dbzhang800/article/details/6918413
http://www.cnblogs.com/jibin/archive/2012/05/21/cadevtips0x0101.html

7.PaX支持
if cat $1/status 2> /dev/null | grep -q 'PaX:'; then

8.ASLR支持

9.内核保护机制
一些配置选项

10.FORTIFY_SOURCE
gcc用来防御buffer overflow
http://blog.csdn.net/youngtiger86/article/details/8426564

大概这些,还好

然后再看下MSECExtensions

posted @ 2012-12-29 21:38  yarpee  阅读(839)  评论(0编辑  收藏  举报