针对Web应用的攻击模式

前言

相信大多数程序员跟我一样心中应该都有一个黑客梦,喝着啤酒,葛优躺在昏暗的小黑屋,两眼无神的看着电脑屏幕,指尖闪烁出的代码令一众小白秒变秃头也难以理解。
环境类似于这样:
在这里插入图片描述
人物类似于这样:
在这里插入图片描述
或者这样:
在这里插入图片描述
好吧以上纯属个人yy(~ ̄▽ ̄)~,下面进入正题,作为一名想成为黑客的菜鸡,了解针对Web应用的攻击模式还是相当重要的。正好最近有看《图解HTTP》,这本书中对Web安全方面进行了大量的介绍,在此分享。Web应用的攻击模式一般分为两种,一种是主动攻击,另一种则是被动攻击。

以服务器为目标的主动攻击

主动攻击(active attack)是指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式。由于该模式是直接针对服务器上的资源进行攻击,因此攻击者需要能够访问到那些资源。
主动攻击模式里具有代表性的攻击是SQL注入攻击和OS命令注入攻击。

SQL注入攻击

相信学过数据库的童鞋一定对此有所耳闻。SQL注入(SQL Injection)是指针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。该安全隐患有可能引发极大的威胁,有时会导致个人信息及机密信息的泄露。
Web应用通常都会用到数据库,当需要对数据库表内的数据进行检索或添加、删除等操作时,会使用SQL语句连接数据库进行特定的操作。如果在调用SQL语句的方式上存在疏漏,就有可能执行被恶意注入(Injection)非法SQL语句。
在这里插入图片描述
SQL是什么?
对于不了解SQL的童鞋,我们来简单介绍下,SQL是用来操作关系型数据库管理系统(Relational DataBase Management System, RDBMS)的数据库语言,可进行操作数据或定义数据等。RDBMS中有名的数据库有Oracle,MySQL,Microsoft SQL Server等。这些数据库系统都可以把SQL作为数据库语言使用。
使用数据库的Web应用,通过某种方法将SQL语句传给RDBMS,再把RDBMS返回的结果灵活地使用在Web应用中。

SQL注入攻击可能会造成以下等影响:
非法查看或纂改数据库内的数据
规避认证
执行和数据库服务器业务关联的程序等。

简单举例来说,在数据库中执行SQL语句中的查询语句例如
SELECT * FROM 表格 WHERE 条件1 and 条件2,
就会将符合条件1和条件2的数据信息从指定的表格中提取出来。但如果将该语句改成
SELECT * FROM 表格 WHERE 条件1- - and 条件2
那么只会将符合条件1的信息提取出来,这是因为SQL中规定“- -"之后全视为注释,所以条件2被忽略了。说白了SQL注入是攻击者将SQL语句改变成开发者意想不到的形式以达到破坏结构的攻击
在这里插入图片描述

OS命令注入攻击

OS命令注入攻击(OS Command Injection)是指通过Web应用,执行非法的操作系统命令达到攻击的目的。只要在能调用Shell函数的地方就有存在被攻击的风险。

可以从Web应用中通过Shell来调用操作系统命令。倘若调用Shell时存在疏漏,就可以执行插入的非法OS命令。OS命令注入攻击可以向Shell发送命令,让Windows或Linux操作系统的命令行启动程序。也就是说,通过OS注入攻击可执行OS上安装着的各种程序。

以服务器为目标的被动攻击

被动攻击(passive attack)是指利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标Web应用访问发起攻击。
被动攻击通常的攻击步骤是这样的:
步骤1:攻击者诱使用户触发已设置好的陷阱,而陷阱会启动发送已嵌入攻击代码的HTTP请求。
步骤2:当用户不知不觉中招之后,用户的浏览器或邮件客户端就会触发这个陷阱。
步骤3:中招后的用户浏览器会把含有攻击代码的HTTP请求发送给作为攻击目标的Web应用,运行攻击代码。
步骤4:执行完攻击代码,存在安全漏洞的Web应用会成为攻击者的跳板,可能导致用户所持的Cookie等个人信息被窃取,登陆状态中的用户权限遭恶意滥用等后果。

利用用户的身份攻击企业内部网络
利用被动攻击,可发起对原本从互联网上无法直接访问的企业内网网络的攻击。只要用户踏入攻击者预先设好的陷阱,在用户能够访问到的网络范围内,即使是企业内网也同样会受到攻击。很多企业内网依然可以连接到互联网上,访问Web网站,或接收互联网发来的邮件。这样就可能给攻击者以可乘之机,诱导用户触发陷阱后对企业内网发动攻击。

被动攻击模式中具有代表性的攻击是跨站脚本攻击和跨站点请求伪造。

跨站脚本攻击

跨站脚本攻击(Cross-Site Scripting,XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击,实际上也可以包括Java、 VBScript、ActiveX、 Flash 。动态创建的HTML部分有可能隐藏着安全漏洞。就这样,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,一不小心就会受到被动攻击。
跨站脚本攻击有可能造成以下影响:
一、利用虚假输入表骗取用户个人信息。

二、利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求。
Cookie
类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。也就是说,当你的Cookie值被窃取,那么攻击者就能够伪装成你的身份了。

三、显示伪造的文章或图片。

跨站点请求伪造

跨站点请求伪造(Cross-Site Request Forgeries,CSRF)攻击是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击。

跨站点请求伪造有可能会造成以下等影响:
一、利用已通过认证的用户权限更新设定信息等

二、利用已通过认证的用户权限购买商品

三、利用已通过认证的用户权限在某些具有权限要求的特定社区发表不当言论。

当然欲成为一名合格的黑客,还有漫长的路要走,鄙人反正是先回去了,剩下的路就由各位大佬冲了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45797022/article/details/106452904
今日推荐