服务器的入侵简介以及选择自己适合的语言

所分享的内容都是自己看书以及结合自己的想法所写出来的,如果有什么错误的话,欢迎指正。

学习《web安全深度剖析》,这本书值得一读。

服务器是如何被入侵的

服务器是如何被攻击者入侵的

服务器与客户端进行通信所倚赖的就是端口,而入侵者也是靠端口,或者说是计算机提供的服务。也有一些所谓的物理黑客,直接对服务器所在的机房进行入侵。

攻击者所要掌握的技能

目标:web服务器
入手点:c段渗透,services,社工

关于c段,即对同网段服务器进行入侵。
有时候一台服务器上只放了一个web站点时,而他的web站点又做的相当牢靠,没有可以实现对网站进行入侵的方法,我们就需要做到对同网段的服务器进行入侵。可以利用弱口令,ARP,以及系统漏洞进行等方法进行入侵。

关于社会工程学
社工博大精深,对服务器的入侵有时靠的不仅仅是技术。

services
web服务相对于其他的来说,渗透的方式增加了许多,比如sql注入,xss,上传点,包含漏洞,代码执行,逻辑漏洞…..

关于语言的选择

渗透测试人员必须要找到系统所有的漏洞,才能够保证系统的安全,要进行更深入的了解,就必须学会编程技术,虽然现在的工具层出不穷,但是要想走得更远,必须有编程基础。这里列出作者所推荐的语言。

①c/c++:作为永远不会衰退的语言,更加的底层。比如windows操作系统的80%以上都是由c/c++完成的。如果针对缓冲区溢出,或者针对更加底层的东西,非c/c++莫属。

②java:真正跨平台的语言,“一次编译,到处运行”。java更适合做应用层的开发。无论是c/s架构,或者是B/S架构。

③c#:与java有百分之七十的雷同,也是和做应用层的开发,以及做到c/s和b/s架构,但是不能够跨平台。

④php:跨平台,脚本语言,无需编译,但是php的能力仅限于web,速度缓慢。但是如果要作为一名web安全人员,几乎所有的人都要学会它。

⑤python(也是我所学习的): 跨平台,脚本语言,无需编译,python也在web领域取得了一些成就,开发较快,但是速度一直是Python的一个缺陷(相对于c来说),但是现在也有好多编译器可以提升python的速度。许多的渗透测试工具也是由python编写的。

⑥html:前段语言之一,渗透测试人员必备语言,学习起来也较为简单。

⑦javascript:前段语言之一,掌握js,能够更好的使用xss攻击的手法。

⑧数据库:数据库有很多种,几乎没有网站不用到数据库,所以数据库的sql语句也是必须的。

如果不做代码审计工作,通常一门语言就足够了,本着对web的目标,去学习html,js,sql,以及任意一门语言是很合适的。

从今天开始更新关于web攻击的几种手法。

漏洞的扫描

通过一些企业级的工具,我们可以利用他们来大致扫描出一个网站的漏洞,比如AWVS,APPSCAN,NETSPARKER….
但是事无绝对,他也有扫描不出来的东西,也有误报率,但是自动化总比人工快很多,你可以在它扫描的时候来手工检查一些漏洞并且来利用。

sql注入

关于sql注入,前边已经讲了对于access和mysql的手工注入,虽然说手工注入相比较与注入工具来说更加的灵活,但是也得你熟悉并且能想出来灵活运用才行。

对于sql注入攻击,通过扫描工具扫描出注入点,可以直接把他拿到sqlmap中跑,对于sqlmap的使用请见SqlMap用户中文手册,其实的话,sqlmap是很强大的,但是你也要灵活运用,否则想找到相关的信息也不是想象中的那么容易。

通过sqlmap来对注入点进行注入从而获得想要的信息

①常规方法:通过扫描工具扫描出后台,利用sqlmap找到管理员帐号密码,成功登陆并进行下一步操作。

②找了半天找不到后台。但是当前的权限是dba权限,同时你利用一些其他的操作,比如找到info.php或者robots文件,通过查看里边的信息得知了网站的绝对路径。然后就可以利用sqlmap的直接写入命令。利用–file-write,–file-dest来把一句话写到目标里边,然后利用菜刀直接连接就可以。

关于sqlmap的其他方法还在寻找…..

xss跨站脚本攻击

反射型和存储型
反射型只对当此访问的页面生效,用户访问被篡改的链接后,被植入的攻击代码被受害者执行,从而达到攻击的效果。
存储型会把攻击代码存储在服务器,攻击代码会伴随着攻击数据一直存在。

直接在Url中或者在要传入的参数后边写入xss代码
通常我们的xss代码会被过滤,我们通过几种方法来绕过过滤。
先输入xss代码看是否会被执行或者过滤。 随便两个尖括号内随便哪个都行。
②攻击代码的大小写都不行,使用 <img src=1 onerror=alert(‘hello’)>
③如果被限制了alert的使用,我们用prompt或者confirm 比如
④需要使用分号和引号来闭合语句
有时候你输入的代码不能执行是因为他需要被闭合,但是当你输入单引号闭合它的时候又发现被强制进行转义,所以我们用 %df’
%df’ 会被转成一个汉字,这种方法也叫宽字节过滤。
⑤你输入的代码直接被拦截。所以我们可以通过编码转换来绕过。
⑥通过嵌套的script来绕过 <script>

xss的实战讲解。
①找到一个xss平台。创建一个项目