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

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

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

直接回来看内容好了。

总结下来,几个术语:

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. 使用CEPH RGW admin ops API 进行用户user AK/SK管理的秘诀

    需求: 云平台面板上需要支持为不同的用户创建不同的RGW 的AK/SK用户秘钥,以完成对象存储的用户隔离,并可以管理bucket和查看bucket容量信息. 分析:查阅CEPH官网文档 S3 API  ...

  2. [tensorflow]的安装

    1 pip install 最简单直接的方法,通过pip install安装,命令如下: pip install tensorflow-gpu //安装gpu版tensorflow pip insta ...

  3. Windows内核进程管理器解析

    Windows内核是如何实现线程挂起的?如何实现线程挂载到进程的?如何实现杀死进程和线程的? 从源码分析一下,这些操作具体在源码上是如何实现的. 进程创建.线程切换.线程跨越CPU权限级.进程挂靠.杀 ...

  4. hdu4796

    4月真是没写啥题,这题还是月初写的…… 不错的插头dp,首先由n和m的范围知肯定是轮廓线是横向划的 问题的难点在于怎么处理下面两个问题 1.怎么处理独立插头 2.怎么处理完全将W和L左右隔开 先说独立 ...

  5. react + redux 实现幻灯片

    写在前面: 这一篇是我 使用scss + react + webpack + es6实现幻灯片 的进阶篇,效果请点我,将会使用上redux的基础用法,因为一开始没有理解好redux的用法,单纯看文档, ...

  6. video.js分段自动加载视频【html5视频播放器】

    突发奇想的需求,要在官网上放一个一个半小时的视频教程…… 然而,加载成了问题,页面是cshtml的.net混合网站,不知道哪儿的限制,导致视频加不出来. 没有办法,只能前端想办法了. 于是将视频切割成 ...

  7. vim常见操作命令

    打开多文件vim file1 file2:open/:e 不关闭vim打开文件 分帧窗口:new 新窗口:sp 横向:vsp 纵向ctrl+w窗口切换:tabc 关闭当前窗口:tabo 关闭所有窗口: ...

  8. EOJ 3256 拼音魔法

    模拟. 有$a$先标$a$,其次是$o$和$e$,$o$和$e$在韵母中不会同时存在.最后是$u$和$i$,这两个字母在韵母中可能同时存在,标在后面的那个.输出那些字符的话直接输出就可以了. 举几个例 ...

  9. ActiveMQ 权限(一)

    在 ActiveMQ 认证(一) 中,若用户名或密码不正确,不能连接到ActiveMQ.我们可以通过配置文件,确用户是否有消息的读取.写入和管理的权限. 在plugin配置节点下,配置以下信息: &l ...

  10. 深入理解javascript作用域系列第五篇

    前面的话 对于执行环境(execution context)和作用域(scope)并不容易区分,甚至很多人认为它们就是一回事,只是高程和犀牛书关于作用域的两种不同翻译而已.但实际上,它们并不相同,却相 ...