注入攻击

  • 注入的本质是,把用户输入的数据当代码执行,这里有两个关键条件,第一个是用户能够控制输入;第二个是原本程序要执行的代码,拼接了用户输入的数据。

  • SQL注入

    • SQL注入的过程中, 如果网站的Web服务器开启了错误回显,则会为攻击者提供极大的便利。
    • 盲注
      • 所谓盲注,就是在服务器没有错误回显时完成的注入攻击。
      • 可以根据返回页面是否发生变化来判断语句是否得到执行。
    • timing attack
      • mysql中benchmark()函数,可以让同一个函数执行若干次,使得结果返回的时间要比平时要长,通过时间长短的变化,可以判断出注入语句是否执行成功。
    • 数据库攻击技巧

      • 一般性技巧
      • 命令执行
        其实都可在mysql中学习
      • 攻击存储过程
        • 在MS SQL Server和Qracle数据库中,都有大量内置的存储过程,在注入攻击的过程中,存储过程将为攻击者提供很大的便利。
        • 除了利用存储过程直接攻击外,存储过程本身也可能会存在注入楼哦对那个。
      • 编码问题
        • 要解决这种问题,需要统一数据库、操作系统、Web应用所使用的字符集,以避免各层对字符的理解存在差异。统一设置为UTF-8是一个很好的方法。
        • 由于浏览器与服务器返回的字符编码不同,也可能会存在字符集攻击,解决办法就是在HTML页面的<meta>标签中指定当前页面的charset。
        • SQL Column Truncation
  • 正确地防御SQL注入

    • sql注入的防御并不是一个简单的事情。开发者常常走入一些误区,比如只对用户输入做一些escape处理。
    • 使用预编译语句
      • 防御SQL注入的最佳方式,就是使用预编译的语句,绑定变量。
    • 使用存储过程
      • 我们还可以使用安全的存储过程对抗SQL注入。使用存储过程的效果和使用预编译类似,其区别就是存储过程需要先将SQL语句定义在数据库中。但需要注意的是,存储过程中也可能存在注入问题。因此应该尽量避免在存储过程内使用动态的SQL语句。
    • 检查数据类型
      • 检查输入数据的数据类型,在很大程度上可以对抗SQL注入。
    • 使用安全函数
    • 安全的编码函数,例如OWASP ESAPI中的实现。这个函数由安全专家编写,更值得信赖。
  • 其他注入攻击

    • xml注入
      • xml注入,也需要满足注入攻击的两大条件:用户能控制数据的输入;程序平凑了数据。在修补方案上,与HTML注入的修补方案也是类似的,对用户输入数据中包含的“语言本身的保留字符”进行转义即可。
    • 代码注入
      • 代码注入多见于脚本语言,有时候代码注入可以造成命令注入。
      • 对抗代码注入、命令注入时,需要禁用eval()、system()等可以执行命令的函数,如果一定要使用这些函数,则需要对用户的输入数据进行处理。此外,在PHP/JSP中便面动态include远程文件,或者安全地处理它。
    • CRLF注入
      • CRLF实际上是两个字符:CR是Carriage Return(ASCII 13,\r),LF是Line Feed(ASCII 10,\n).\r\n这两个字符是用于表示换行的,其十六进制编码分别为0x0d、0x0a
      • CRLF注入并非仅能用于log注入,凡是使用CRLF作为分隔符的地方都可能存在这种注入,比如"注入HTTP头"。两次'\r\n'意味着HTTP头的结束。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容

  • 随着当今世界网络技术与信息技术高速发展,Web应用程序具有界面统一,使用简单,易于维护,扩展性好,共享度高等优先。...
    高美丽阅读 3,955评论 0 4
  • [SQL注入攻击] SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式...
    James黄杰阅读 2,645评论 0 30
  • Web安全简史 在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可执行脚本(俗称Web...
    潘良虎阅读 3,922评论 3 72
  • 注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险。实际上,它们会一起出现,因...
    OneAPM阅读 2,589评论 1 15
  • 一年之计在于春,春天是一年的开始,它给人们带来生机,带来了希望,更带来了美丽和温暖。最喜欢儿时跟在妈吗后面,挎着篮...
    浅念_b317阅读 219评论 0 0