从浏览器攻击思考入门的问题。

凡黑客引导的教程,在github是最容易吸引星星的。我们明知道这样的引导不可能一蹴而就,却还是愿意干了这碗鸡汤。

以前随便一个工具就可以直接进入互联网服务器。随着web的发展,防御也在慢慢的完善起来。大多数公司购买入侵防御系统(IPS)、web应用防火墙等设备来保护那些暴露在互联网上的系统主机。

有趣的是,公司把钱投入到了防御产品上面,花费重金几十万上百万,却不会花个几万去购买优秀的网络安全课程来给员工培训。这导致各种精心构造的钓鱼攻击技术有机可乘。拙劣的钓鱼手法,我们当然可以分辨。嘲讽的是,我们自以为聪明,却屡次中招。精良的钓鱼攻击技术,使得我们再也无法从外观分辨出它的真伪了。比如,运营商的钓鱼短信,每个人手机中的短信已经分不清孰是孰非,来电号码110,你也无法可能它是不是真正的110。

你买了一整套设备防御?那行,我不攻击你重点防御的对象了。改成攻击你的浏览器。浏览器是程序,凡是程序就会在内存中加载,只要一加载就需要给程序分配内存空间,这个内存空间叫作堆。对于程序运行的过程中,作为攻击者是不清楚内存怎么个给程序分配的。所以我们不知道shellcode(攻击代码)在内存的什么位置。借助x86 汇编的知识,我们知道有一个NOP,它是空指令,程序遇到空指令它就会跳过,运行下一个。我们插入大量NOP,把堆填满,在最后面放入shellcode。成功运行攻击代码的概率能够达到85%以上。

在汇编中,空指令表示x90。x90x90x90x90x90x90x90x90x90x90x90......shellcode  

看看我们用的IE浏览器,火狐,谷歌,有多久没有更新了,即使你更新了,那么office呢,系统呢,哪个不用盗版。你把入侵防御,web应用,内网隔离做得好好的。到头来,还是防不住软件本身带来的威胁。

从以上攻击方式可以发现:黑客入门,不仅涉及到网络,还有web、汇编等开发语言,以及作为主菜的网络安全知识。只有在知识面广阔的前提下,才能进一步读明白安全类的攻击书籍,才能进一步实战。所以,整个计算机科学专业的知识,都是黑客的基础。这个基础的目的是让我们看明白,攻击,防御类的书籍到底说的什么意思。

原文地址:https://www.cnblogs.com/sec875/p/11041689.html