事实上非常多工具多少都使用的比較熟悉了。

可是仍有一些点还是比較有趣以及我不知道的。毕竟第一章,查缺补漏的。

(话说这个成语在高三冲刺的时候,老师用得最多,当时还非常悲哀的一直补东墙。漏西墙。始终认为自己学习的混沌,不成体系= =

直接回来看内容好了。

总结下来,几个术语:

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函数。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHMxMTYw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

找到一定会使用的scanf函数。

右键选择交叉引用 Xref to。



非常明显了.再到那个调用的函数。

然后进去,找到相应的编码了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHMxMTYw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

代码的VA是0x40140D。ok下一步,使用loadPE了。

【2.利用loadPE计算文件偏移】

惊悚的发现能够直接改动的。= =

总之无论,一般要改非常长的一段,还是用OD直接改内存的多。

就是这样。

书里面是用UE改的,方法一样。

直接改动。74->75 就是  jE--> JNE.

最后输出。

正确的password已经不对。其它的password都能够bypass了。

[0day]基础工具学习的更多相关文章

  1. objective-c基础教程——学习小结

    objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...

  2. [转] 用协议分析工具学习TCP/IP

    一.前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天.目前号称搞网的 ...

  3. VBox&vmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

  4. 零基础如何学习 Web 安全?(转)

    在网上看了一篇文章<零基础如何学习 Web 安全?>,虽然很多东西的都不是很懂,感觉挺好的copy过来,慢慢消化: 文章地址:https://www.zhihu.com/question/ ...

  5. (转)Linux基础知识学习

    Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...

  6. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  7. webpack前端构建工具学习总结(四)之自动化生成项目中的html页面

    接续上文:webpack前端构建工具学习总结(三)之webpack.config.js配置文件 插件的介绍文档:https://www.npmjs.com/package/html-webpack-p ...

  8. Winform设计-小百货 涵盖基础插件学习(适合新手)

    Winform设计-小百货 涵盖基础插件学习(适合新手)   第一次写winform,主要是为了加快对  事件的 理解. 代码如下: private void Form1_Load(object se ...

  9. Objective-c基础知识学习笔记

    Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...

随机推荐

  1. nexus 安装配置

    一.下载Nexus http://nexus.sonatype.org/downloads 我是用的版本是 nexus-2.11.4-01-bundle.tar.gz 每个版本的配置有些许差别. 二. ...

  2. 看看PHP迭代器的内部执行过程

    class myIterator implements Iterator { private $position = 0; private $array = array( "first_el ...

  3. css如何将div画成三角形

    首先了解一下盒模型: 盒模型 先看一段代码: #div1{ height: 100px; border-style: solid; border-width: 100px 100px 100px 10 ...

  4. 如何提交代码到CEPH Repo。 顺便庆祝下,提交了第一个ceph pull request。实现了从0到1的突破

    庆祝一下!经过社区老司机的带路,昨天提交了第一个ceph pull request.实现了从0到1的突破,希望再接再厉提交更多代码到社区,为社区发展贡献一点自己力量. 提交的第一个被社区fix的bug ...

  5. Android 下使用 JSON 实现 HTTP 请求,外加几个示例!

    不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JS ...

  6. (转)粒子编辑器Particle designer属性的介绍

    转载:http://blog.csdn.net/ym19860303/article/details/9210539 Particle designer粒子编辑器可到这里下载(包含授权码):http: ...

  7. IEEEXtreme 10.0 - Mancala'h

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme 10.0 - Mancala'h 题目来源 第10届IEEE极限编程大赛 https://www.hackerrank.c ...

  8. vim 图册

    网上看到的一些图,感觉不错,分享一下 我现在感觉配置文件,很多没有必要,反而很花哨,但是这些基础的东西,反而很高效,实在 VIM的列编辑操作 删除列 1.光标定位到要操作的地方. 2.CTRL+v 进 ...

  9. [实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名

    写在前面 上篇文章实现了文件的下载,本篇文章将实现编辑文件名的功能. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) ...

  10. LeetCode 16. 3Sum Closest(最接近的三数之和)

    LeetCode 16. 3Sum Closest(最接近的三数之和)