黑客入门

摘要

        黑客,在大多数人的印象中非常神秘,成为一个黑客是不少学计算机人的梦想。但是网上关于黑客的书籍以及教程非常少,而且有价值的书更加少,这给大多数想要学习这方面知识的人带来了不小的难度。本文将从入门的角度,介绍网络攻防的历史以及基本原理,为这方面感兴趣的小伙伴提供一点经验。

web攻防历史

        早期的万维网是仅有web站点构成,这些站点储存基本的静态文档供用户访问。后来人们发明了浏览器,用它来检索这些文档。早期的相关信息流仅由服务器向浏览器单向传送,对所有用户不加区分。因此主要的安全问题集中在服务器端,攻击者通过修改服务器上的文件,恶意引导用户进行下载,从而达到入侵用户的目的。这个时候为了保障web安全,主要的技术是在服务器端研究防火墙,防止恶意入侵,从而达到保护网络环境安全的目的。
       现在的web站点是非常复杂的应用程序,它们介于服务器和客户端之间,可以支持注册和登录,金融交易,搜索等极其复杂的功能。用户通过浏览器发出请求,传给web站点,站点访问服务器的数据对请求进行处理,然后返回给客户端。现在web程序交互是双向的,浏览器可以传输请求给服务器,服务器也可以返回请求给客户端。而且现在的web程序,服务器上的很多数据都是比较私密的数据,是不允许用户随意查看的。因此现在的web安全问题变得非常复杂和多样化。每一个web应用程序是不同的,所以它们对应的安全问题也不同,这就需要新的技术来保障网络安全。

web程序的核心安全问题

现在web程序面临的最基本的问题是:“用户可以提交任意的输入”,这是现在一切网络攻防的起步点和落脚点。只要知道web站点的ip地址和端口,用户就可以构造任意的输入,从而达到入侵系统的目的。所以现在黑客攻击网络站点的本质是,利用站点的漏洞,构造出来恶意的请求数据,从而达到获取服务器隐私数据,控制站点的目的。举一个例子,图片p1为一个数据库的表,表名为jobs。假设我们现在有一个用户名为1,我们目的是查到该数据库中所有的用户的数据信息。

                                                                                                      p1

我们首先在浏览器输入如下url:localhost:3452/EXcelUsingXSLT/Default.aspx?jobid=1,它会执行如下的查询语句:
SELECT     job_id, job_desc, min_lvl, max_lvl
FROM         jobs
WHERE     (job_id = 1)
最终结果如图p2所示。

p2
我们查出了id为1的用户对应的信息。我们现在想查询所有用户的信息,这个时候直接查询是不行的,应为我们不知道别的用户的id。要查询所有用户信息,直观上应该执行的语句是
SELECT     *
FROM         jobs
但是这条语句是无法直接执行的,因为我们无法控制服务器端代码,我们唯一可以控制的就是我们的请求,简单来说就是url:localhost:3452/EXcelUsingXSLT/Default.aspx?之后的参数。我们构造如下的参数:jobid=1'or'1'='1,它对应的sql查询语句如下:
SELECT     job_id, job_desc, min_lvl, max_lvl
FROM         jobs
WHERE     job_id = '1' OR '1' = 1'
最终结果如图p3所示。


p3
就这样,我们在仅仅知道服务器一个用户名的条件下,查询出了服务器所有的用户信息。以上例子是一个恶意构造输入来入侵系统的实例。在现在的web程序中,用户可以改变请求参数,cookie和HTTP信息头,然后发送给服务器。用户可以用完全合法的输入执行恶意的操作,传统的防火墙无法识别,这就只能靠程序员写程序的时候注意安全。但是一个复杂的程序不可能对所有情况进行验证,这就是说,一个网络程序,一定存在一些漏洞和风险,黑客要做的就是发现这些漏洞,构造输入进行入侵。

总结

武功分为内功和招式。想要成为绝顶高手,一定要有深厚的内功基础。而本文重点讲了黑客攻防的一些基本的理论。现在大多数人学习的时候都喜欢去研究一些具体的招式,比如用几个工具去攻击一些玩具网站,然后觉得很有成就感。然而这些东西虽然学习起来快,但是很难在真正的网络攻防中起到作用。要想真正成为一名黑客,内功非常重要。所以建议各位小伙伴,欲速则不达,练好基础,踏实前进。本文的例子参考了http://blog.csdn.net/stilling2006/article/details/8526458/,尊重原创









  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值