Web的攻击技术

针对Web的攻击技术:

简单的 HTTP 协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用 HTTP 协议的服务器和客户端,以及运行在服务器上的 Web 应用等资源才是攻击目标。

在 Web 应用中,从浏览器那接收到的 HTTP 请求的全部内容,都可以在客户端自由地变更、篡改。所以 Web 应用可能会接收到与预期数据不相同的内容。

在 HTTP 请求报文内加载攻击代码,就能发起对 Web 应用的攻击。通过 URL 查询字段或表单、HTTP 首部、Cookie 等途径把攻击代码传入,若这时 Web 应用存在安全漏洞,那内部信息就会遭到窃取,或被攻击者拿到管理权限。

针对Web应用的攻击模式:

主动攻击/被动攻击

主动攻击:

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

主动攻击模式里具有代表性的攻击是 SQL 注入攻击和 OS 命令注入攻击。

被动攻击:

被动攻击(passive attack)是指利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标 Web 应用访问发起攻击。

被动攻击通常的攻击模式如下所示。

步骤 1: 攻击者诱使用户触发已设置好的陷阱,而陷阱会启动发送已嵌入攻击代码的 HTTP 请求。

步骤 2: 当用户不知不觉中招之后,用户的浏览器或邮件客户端就会触发这个陷阱。

步骤 3: 中招后的用户浏览器会把含有攻击代码的 HTTP 请求发送给作为攻击目标的 Web 应用,运行攻击代码。

步骤 4: 执行完攻击代码,存在安全漏洞的 Web 应用会成为攻击者的跳板,可能导致用户所持的 Cookie 等个人信息被窃取,登录状态中的用户权限遭恶意滥用等后果。

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

利用被动攻击,可发起对原本从互联网上无法直接访问的企业内网等网络的攻击。只要用户踏入攻击者预先设好的陷阱,在用户能够访问到的网络范围内,即使是企业内网也同样会受到攻击。

因输出值转义不完全应发的安全漏洞:

实施Web应用的安全对策可大致分为两个部分:

客户端的验证

web应用端(服务器端)的验证:输入值验证,输出值转义

跨站脚本攻击(Cross-Site Scripting,XSS)是指通过存在安全漏洞的Web 网站注册用户的浏览器内运行非法的 HTML 标签或 JavaScript 进行的一种攻击。动态创建的 HTML 部分有可能隐藏着安全漏洞。就这样,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,一不小心就会受到被动攻击。

跨站脚本攻击有可能造成以下影响:

利用虚假输入表单骗取用户个人信息。

利用脚本窃取用户的 Cookie 值,被害者在不知情的情况下,

帮助攻击者发送恶意请求。

显示伪造的文章或图片。

跨站脚本攻击案例

在动态生成 HTML 处发生:

对用户 Cookie 的窃取攻击:

在存在可跨站脚本攻击安全漏洞的 Web 应用上执行上面这段JavaScript 程序,即可访问到该 Web 应用所处域名下的 Cookie 信息。然 后这些信息会发送至攻击者的 Web 网站(http://hackr.jp/),记录在他的登录日志中。结果,攻击者就这样窃取到用户的 Cookie 信息了。

再比如:

https://www.cnblogs.com/dolphinX/p/3391351.html

SQL注入攻击(SQL Injection)是指针对 Web 应用使用的数据库,通过运行非法的 SQL 而产生的攻击。该安全隐患有可能引发极大的威胁,有时会直接导致个人信息及机密信息的泄露。

SQL 注入攻击有可能会造成以下等影响:

非法查看或篡改数据库内的数据

规避认证

执行和数据库服务器业务关联的程序等

sql注入参考样例:https://www.jianshu.com/p/078df7a35671

select * from users where username='123' and password='123'

输入用户名和密码都为:123‘ or 1=1 #

select * from users where username='123' or 1=1 #' and password='123' or 1=1 #'

不要使用拼接来使用动态sql,要使用参数化查询。

注意mybatis中的#和$,

一句话:能用#就不用$,实在万不得已要用了,自己处理sql注入问题。

预编译    变量替换  列名,表名

参考链接:

https://blog.csdn.net/attack_breast/article/details/88039493

https://www.jianshu.com/p/0a70f957c750

https://www.cnblogs.com/mmzs/p/8398405.html

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

nodejs样例:

vscode写了例子。

https://imnerd.org/web-security-vulnerability-os-command-injection.html

java样例:

https://blog.csdn.net/Hollake/article/details/90633630

怎么防止:白名单,对入参进行各种分析,防止恶意攻击。

HTTP首部注入攻击(HTTP Header Injection)是指攻击者通过在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击。属于被动攻击模式。向首部主体内添加内容的攻击称为 HTTP 响应截断攻击(HTTPResponse Splitting Attack)。

HTTP 首部注入攻击有可能会造成以下一些影响:

设置任何 Cookie 信息

重定向至任意 URL

显示任意的主体(HTTP 响应截断攻击)

HTTP 首部注入攻击案例:

保存用户访问信息时可能遭受到攻击: https://blog.csdn.net/wangyangzhizhou/article/details/51656846

各种获取到的参数保存前都要想下有没有被攻击的可能,是否需要处理。


目录遍历(Directory Traversal)攻击是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。这种攻击有时也称为路径遍历(Path Traversal)攻击。

https://blog.csdn.net/yuhk231/article/details/54988327

远程命令执行(RCE):

https://www.jianshu.com/p/16f4a473940a

因设置或设计上的缺陷引发的安全漏洞:

强制浏览(Forced Browsing):

定义:强制浏览安全漏洞是指,从安置在web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。

这个感觉和目录遍历有点像。

不正确的错误消息处理:

不正确的错误消息处理(Error Handling Vulnerability)的安全漏洞是指,Web应用的错误消息内保安队攻击者有用的信息。与Web应用有关的主要错误信息如下所示:

Web应用抛出的错误消息

数据库等系统抛出的错误消息

开放重定向:

https://www.cnblogs.com/Erik_Xu/p/5497479.html?locationNum=15&fps=1

因会话管理疏忽引发的安全漏洞:

会话管理是用来管理用户状态的必备功能,但如果在会话管理上有所疏忽,就会导致用户的认证状态被窃取。

会话劫持(Session Hijack):

会话劫持是指攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到供给的目的。

会话固定攻击(Session Fixation):

对以窃取目标会话ID为主动供给手段的会话劫持而言,会话固定攻击会强制用户使用攻击者指定的会话ID,属于被动攻击

跨站点请求伪造:

防止跨站请求伪造:

expressjs有提供相应的中间件(csurf):https://blog.csdn.net/prufeng/article/details/93316395

asp.net mvc中是通过,在razor引擎中添加:@Html.AntiForgeryToken(),同时,在后端请求的对应action方法上增加[ValidateAntiForgeryToken]注解来实现。本质上就是核对生成在cookie中的token和请求页面的token是否一致。

https://www.cnblogs.com/yechangzhong-826217795/p/7867611.html

java中:

自己写拦截器。

有spring security组件可以防止csrf攻击。

https://www.cnblogs.com/liuroy/p/7366859.html

大部分情况下,跨站请求伪造都是基于form提交的,但现在,很多时候我们是基于ajax提交的,这种情况下,再去验证cookie和表单中的token是否一致就不行了。需要使用http头中自定义token来解决:

https://www.cnblogs.com/hutuzhu/p/5919400.html

其他安全漏洞:

密码破解(Paasword Cracking):

密码破解攻击即算出密码,突破认证。攻击不仅限于web应用,还包括其他的系统(如FTP,SSH等)。

密码破解有以下两种手段:

通过网络的密码试错(穷举法,字典攻击)

对已加密的密码进行破解(穷举法、字典供给    彩虹表  拿到密钥    加密算法的漏洞)

彩虹表(Rainbow Table)是由明文密码以及相对应的散列值构成的一张数据库表,是一种事先制作的庞大的彩虹表,可在字典、穷举等算法的破解过程中缩短消耗时间的技巧,从彩虹表中搜索散列值就可以找到对应的明文密钥。

参考链接https://freerainbowtables.com/

点击劫持:

https://blog.csdn.net/qq_32523587/article/details/79613768

DoS 攻击(Denial of service attack):

Dos攻击是一种让运行的服务呈停止状态的攻击,有时也叫服务停止攻击或拒绝服务攻击。DoS攻击的对象不仅仅限于web网站,网络设备,服务器等都可以成为攻击对象。

DDoS攻击(Distributed Denial of Service attack)。DDoS攻击经常利用那些防御能力弱,易感染病毒的计算机作为攻击者的攻击跳板。

后门程序:

一个开发埋后门,每年修bug赚维护费,最后坐牢的例子。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容