web安全及防御 - 逻辑错误漏洞 & 代码注入

一、逻辑错误漏洞

常见的逻辑漏洞:

1. 绕过授权验证

(1)水平越权:相同级别(权限)的用户或者同一角色的不同用户之间,可以越权访问、修改或者删除的非法操作。
(2)垂直越权:不同级别或不同角色之间的越权。

2. 密码找回逻辑漏洞

3. 支付逻辑漏洞

(1)商品数量为负数
(2)0元购买商品

4. 指定账户恶意攻击

主要就是封锁指定账户,图取其他利益。

二、代码注入

  • 按照OWASP定义:在客户端提交的代码在服务器端接收后当作动态代码或嵌入文件处理。
    以下漏洞可以视为代码注入:
    (1)OS命令执行
    (2)文件包含
    (3)动态函数调用

  • 按照Wikipedia定义:客户端所提交的数据未经检查就让Web服务器去执行,这个范围比OWASP定义的代码注入范围要广阔的多。
    以下漏洞可以视为代码注入:
    (1)SQL注入
    (2)XML注入
    (3)XSS
    (4)文件包含
    (5)命令执行
    (6)等。

1. XML注入

XML是 The Extensible Markup Language(可扩展标识语言)的简写。XML最初设计的目的是弥补HTML的不足,后来逐渐用于网络数据的转换和描述。XML的设计宗旨是传输数据,并非显示数据。

XML注入是通过改写XML实现的,与XSS跨站漏洞相似,此漏洞利用成功的关键点就是闭合XML标签。

修复:只需要将预定义字符进行转义即可。

2. XPath注入

XPath即为XML路径语言,XPath基于XML的树状结构,提供在数据结构树中寻找节点的能力。简单的说,XPath就是选取XML节点的一门语言。

通过XPath注入攻击,攻击者可以攻击XML,XPath与SQL注入的方式类似。
//user[username/text()='admin' and password/text()='admin888' or 1=1]

笔者建议,对于一些敏感信息,不要使用XML传输,如果一定要使用XML,建议尽量使用密文传输。

XPath注入的预防是比较简单的,没有防御SQL注入那么复杂。最重要的是对预定义字符的转换。

3. JSON注入

即就是在json中插入恶意字符,破坏json结构。

如:
正常为"password": "admin888",如果将password的值改为admin"888,则结果为:"password": "admin"888"

防御:
只需要对其关键字符进行转义即可:"password": "admin\\"888"

4. HTTP Parameter Pollution(http参数污染)

  • 请求url上会有重复参数的时候。
  • 根据不同的语言和环境,对于http参数的重复字段的值取得不一样。
  • PHP取须后一项,Servlet取第一项。

http参数污染经常用来绕过一些Web应用防火墙(WAF)。简单来说WAF在脚本还未接收到请求之前就开始对数据进行校验,如果未发现恶意代码,则交给脚本处理,如果发现恶意代码,就进行拦截,不再交给脚本处理。

例如:
某个WAF防火墙模版定义数据中不允许出现select关键字,WAF取值验证时可能会选择第一项参数值,而脚本取值与WAF则不同,这样就有可能绕过WAF的数据验证。

PHP: News.php?id=1&id=select username, password from admin--

WAF取id值为1,而PHP取id值为select username, password from admin--

ASP.net: news.aspx?id=1;&id=s&id=e&id=c&id=t
而ASP.net将会把多个相同参数项的值连接在一起,这样http参数污染就极有可能绕过某些WAF防火墙。

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