03.03 黑客怎样做到无需知道源代码的情况下找到系统漏洞?系统漏洞有几种形式?

Aries白326


绝大部分的黑客寻找系统漏洞都不需要知道源代码,因为源代码大多都是保存在系统研发公司的内部服务器上,外网一般是不能访问这些服务器的。而放在线上服务器的系统文件,黑客如果想要获取下来,也是需要攻破服务器,如果服务器都攻破了,我还要你系统文件干嘛?

那么,黑客一般的攻击手段有哪些呢?

首先,黑客基本不会手工的去攻击某个系统或者服务器,都是通过一些工具来完成的,通过编写少量的代码,然后工具包装以后,向服务器或者系统发送请求。

最常见的攻击手段之一:注入攻击

注入攻击也较SQL注入攻击,是对于系统的危害是非常大的一种攻击方式。所以也是安全性测试中,必须要封堵的一种漏洞。原理其实也非常简单,就使用类似爬虫一样的工具,找到系统中所有的请求地址,然后在请求参数中构建一段注入的代码,一旦系统中存在注入的漏洞,那么这段代码将会在数据库中执行。

那么比较简单的结果就是,数据库被注入了一段木马脚本,所有用户登录这个系统时,都被感染了木马;或者是把一个管理员用户给加入到了系统中,黑客就通过这个用户登录到了你的管理后台。那更为严重的可能就是注入了一段删除数据库的脚本,你的所有数据都被删除干净。

最常见的攻击手段之二:重放攻击

对于黑客来说,他们有很多的手段可以截获你的请求消息。例如:你如果连接了一些公共的Wifi,那么你的消息包就可能被黑客截获。

但是,由于你所使用的APP在请求前是进行了消息加密的,黑客们想要破解密文难度很大,那么,最简单的方式就是把报文原封不动的再次发出去,从而对发送端用户造成一些麻烦。

当然,重放攻击这种手段大多数时候都是损人不利己的。可能就是有的用户在发了一条微博,微博系统也没有做幂等性的效验,那么黑客就不停的向微博推送这个消息,导致你的微博账号里面连续发送了成百上千条的同样文章。

不过,如果这条消息是你的转账请求,那么如果遭遇到了重放攻击,那么损失的就是真金白银了,所以,手段虽然比较low,但是危害也可能不小。

最常见的攻击手段之三:点击劫持

点击劫持其实是一个非常小的系统漏洞,黑客通过在你打开的网页中设置一个透明的区域,里面放一些他希望你做的动作,但是你其实是看不见的。当你点击页面上的某个按钮时,可能就会发生出乎你预料的事情。这种攻击方式就是点击劫持。

这么一个小漏洞的危害应该是可大可小,大部分时候,也就是骗骗你的流量。但是也有可能,骗取到你的一些账号密码信息。

当然,这些手段都是针对于系统上进行攻击的手段。可能很多的顶级黑客不一定看得上这些手段,他们会直接针对于服务器进行攻击。

如果要对服务器进行攻击的话,那么首要的就是端口扫描。如果我们有一点服务器的知识,我们可以去看看我们架设在互联网中的服务器,基本上所有的服务器都被不明来源的工具进行着端口扫描。

端口扫描的目的是什么呢?

端口有很多的意义,我们这里仅仅说网络端口。网络端口就是计算机对外进行数据传输的一个出入口。很多端口,其实都有着特定的意义,例如:web网站的默认端口是80,mysql数据库连接的默认端口是3306。

而通过端口扫描,就可以知道一台计算机有哪些端口对外开放,如果是一些已知意义的端口,那么就可以有针对性的进行破解操作。

针对端口的话,最常见的攻击手段就是爆破。

也就是暴力破解。如果我们设置的密码强度不够的话,那么分分钟就可能被破解,那么黑客就可能远程控制你的主机,或者远程连接上你的数据库等等。那么接下来,你的系统就是他想怎么玩就怎么玩了。还有可能,他会在服务器上留下新的后门,即使你修改了密码,下次黑客还可以通过自己这次设置的后门远程连接你的电脑。

所以,密码别设置得太简单。

在中美黑客大战中,中国的黑客就展示了另一个常用的攻击方式DDOS。

DDOS攻击的原理非常简单,就是使用多个计算机,在一个时间段内,想一个或多个目标发送需要回复的网络请求。由于目标计算机的网络承载和磁盘承载都是有上线的,突然接收到大量的网络请求,就可能造成目标计算机的系统资源或者网络资源瞬间消耗殆尽,从而无法继续响应其他的网络请求。

这种攻击方式,一般都是用来瘫痪某个目标系统,手法也非常简单粗暴,并且攻击者很难被发现。所以,中美黑客大战中,中国红客就是通过这种攻击方式,瘫痪了美国白宫的官方网站。

当然,黑客的手段还有很多很多,这里并不能全部都一一介绍,而且科技在发展,黑客技术也在发展。但是,这个世界不需要黑帽子,在互联网的暗网中,还存在着各种的没有底线的交易,我更希望懂得黑客技术的人,成为白帽子、灰帽子,为网络安全贡献一份自己的力量。


会技术的葛大爷


黑客找系统漏洞并不一定要知道源代码,大多依靠分析、理解、推测能力,经验越丰富找漏洞越有优势。而且就算知道源代码,一般也不会把全部的源代码看一遍来寻找漏洞,通常是集中在一些比较关键的地方,辅之逻辑判断。

不依靠源代码,一般可以通过以下步骤或方法找到漏洞:

1、了解基本信息。首先通过各种探测确定系统的基本信息,比如说用的是什么OS,什么DB,什么组件,背后是什么支持的等等,获取这些基本信息还是比较容易的。

2、扫描。借助扫描器了解对方开了什么服务,这些服务有什么反应,然后根据步骤进行一一核对,判断这些已知框架的反应情况是否有异常。对于那些经验不足的开发方来说,这种方法很容易发现纰漏,接下来只需机械劳动就好了。

3、遇到陌生的通讯层、服务层、应用层反应,利用各个年份的OWASP测试用例来试一下,然后各种注入、溢出、提权也尝试一遍,还不行的话再一个个试构造测试套。

4、如果有应用层的话,注册个账号看看是怎么跑的,了解其数据格式、协议和算法,然后再一个个注入看是否有漏洞,同时也顺带消耗一下资源,看看会不会崩溃。

常见的导致系统漏洞(信息系统)的情形一般有以下6种:


协议设计漏洞、流程问题、设计错误、软件问题、人员操作问题、系统维护问题(主要由默认值不安全、维修系统、信任关系薄弱引起)。


赵广亚


这个就看黑客的资深程度和系统的安全级别了,很多漏洞是已知的和认为的。如果碰到个资深黑客入侵一个菜鸟做的网站,可能黑客用几行代码就把网站爆库了,这样就直接可以看到数据库中的帐号和密码,如果密码没有做加密,或者是弱密码,直接md5反查,网站就被攻破了。这就是老黑客的经验。

如果网站有专门的安全维护人员,常见的系统漏洞都处理了,黑客就没有那么容易攻破。然后所有的数据安全防范做好,程序员的代码漏洞也修复了,那你的系统和程序就没有什么功能性的漏洞了。


常见的系统漏洞有以下几点


一、协议设计漏洞

1.安全问题常被忽视

一般设计人员制定协议之时,通常首先强调功能性,而安全性问题则是到最后一刻、甚至不列入考虑范围。在网络应用环境下,安全问题尤须更加注意。


2.架构问题

选用其它基础协议时,必须要注意该协议是否易于了解、易于实作。就算费尽心思制定完善的协议,若架构在不穏固的基础之上,其结果可想而知。


二、流程问题

设计协议时,可能考虑不够周全,导致发生状况时,系统处理方式不当。


三、设计错误

协议设计错误,导致系统服务容易失效或容易招受到攻击。比如有的黑客攻击服务器的MySQL服务,当服务崩溃时数据库密码就可能暴露出来。


四、软件问题

1.程序错误

安全漏洞也常因程序撰写习惯不良引起,其中包含常见的未检查资料长度内容、输入资料容错能力不足、未检测可能发生的错误、应用环境的假设错误、引用不当模块、未检测资源不足等。


五、人员操作问题

若操作人员未受过良好训练、或未按手册操作,同样会导致安全漏洞。


六、系统维护问题

1.默认值不安全

许多软件或操作系统在安装完成后,是处于极度不安全的状况下。而这些预设环境背后的理由竟是为了方便用户,诚然,用户是方便了,不过此处所指的用户,范围也同时包含了病毒、蠕虫、特洛依木马等等不速之客。

2.未修补系统

一般软件多多少少都会有些错误,勤于修补才能让系统免遭破坏,微软系统和liunx系统定期都会放出一些修复补丁,用来完善系统的漏洞。

3.祸起萧墙

或许你不愿相信,但对系统发起攻击的,通常是你信任的系统。在你信任的领域里 (通常这信任关系太过薄弱) 若存在不够安全的系统,这不够安全的系统很快就会成为下次攻击的跳板。比如ARP病毒,模拟网关,所有的数据通信都会访问到有病毒的主机,这样一来所有的电脑都有可能感染ARP病毒。一个领域的安全强度,等同这领域中最不安全系统的安全强度。


极客学习社


由于软件编写方式和操作系统的特点,大型的软件几乎都有漏洞。举例来说一个类似qq登录简单的号码录入框,如果程序员疏忽没有编写限制录入长度的代码,当用户录入字符超过用于存储号码的变量的规定长度时,超出的字段将会溢出。溢出的编码将会占用电脑内存中其他变量的空间,相当于改写了系统的参数,当然,这种漏洞一般会造成操作系统崩溃,常见效果就如同蓝屏一样。而黑客可以利用这些漏洞修改系统参数,取得操作系统的管理员权限,就可为所欲为忘了。而真正的黑客一般都自己编写程序来扫描软件的这些漏洞,差一点的黑客就是去下载这些扫描漏洞的软件在网上不断扫描他人的电脑。


安界


知道在哪找和有自己的系统程序


分享到:


相關文章: