其实很多工具多少都使用的比较熟悉了。但是仍有一些点还是比较有趣以及我不知道的,毕竟第一章,查缺补漏的。
(话说这个成语在高三冲刺的时候,老师用得最多,当时还很悲哀的一直补东墙,漏西墙。始终觉得自己学习的混沌,不成体系= =)
直接回来看内容好了。
总结下来,几个术语:
Penetration test(攻击测试),团队被叫做:Tiger team 或者
Ethic hacker。
POC(proof of concept)代码:重现漏洞场景,重现细节。
漏洞公布机构:
CVE(Common Vulnerabilityes and Exposures)
CERT(Computer Emergency Response Team)
VA = ImageBase + RVA
文件偏移地址 = VA - ImageBase - 节偏移地址
---------所有的漏洞类型可以看成两大类------------
1.内存漏洞(堆栈)
2.web应用漏洞(SQL注入,XSS)
[接着我就按照上面的分类,首先开始了内存漏洞的学习。本书也主要讲的系统内存漏洞]
【小白鼠:crack】
自己写的超级无敌easy crackme
/*
这是一个测试程序,crackme。easy,
just for famliar with tools
*/
#include <stdio.h>
#include <string.h>
#define PASSWORD "123456"
int authen(char *password)
{
return strcmp(PASSWORD,password);
}
int main()
{
char password[1024];
while(1)
{
printf("please input the password: ");
scanf("%s",password);
if( authen(password) )
{
printf("no! you should try again!\n");
}
else
{
printf("Yes! you did it! \n");
break;
}
}
return 0;
}
思路就是定位的if判断语句,修改代码。很直观。
【主要工具1-IDA】
之前一直玩OD的,IDA用的不多,这次仿照着玩,也玩出了一些基础的东西。 (其实系统的学都应该晓得的,但是没有系统,所以就是自己玩出来的。)
可能发布的版本是debug版本的,所以IDA初始没有办法锁定main。
但是通过随便的玩耍,还是找到了。
木有直接定位到main函数。
找到一定会使用的scanf函数。右键选择交叉引用 Xref to。
很明显了.再到那个调用的函数。
然后进去,找到对应的编码了。
代码的VA是0x40140D。ok下一步,使用loadPE了。
【2.利用loadPE计算文件偏移】
惊悚的发现可以直接修改的。= =总之不管,一般要改很长的一段,还是用OD直接改内存的多。就是这样。
书里面是用UE改的,方法一样。
直接修改。74->75 就是 jE--> JNE.
最后输出。
正确的密码已经不正确。其他的密码都可以bypass了。