手记

web应用常见安全攻击手段

一、攻击手段

主动攻击: 直接向应用服务器发起攻击,传入代码,比如OS注入、SQL注入。
被动攻击:诱导客户操作,向服务器发送植入非法代码的请求,比如CSRF、XSS。
主动与否的判断依据:攻击的直接发起者是普通用户还是攻击者。

1.SQL注入

非法修改SQL语句

2.OS命令注入攻击

通过web应用调用操作系统命令,通过shell命令可以调用操作系统的其它程序,只要有能够调用shell函数的地方就有被攻击的风险。

3.HTTP首部注入

在响应首部加入换行符(HTTP换行符:%0D%0A),设置cookie信息,假冒用户。
(1)HTTP响应截断攻击:需要插入两个HTTP换行符,然后并排插入字符串发送,插入的字符串是伪造的响应主体(网页内容)。可以达到和跨站脚本攻击相同的效果。

4.邮件首部注入

向邮件首部To/Subject任意添加非法内容,可以对任意邮件发送广告邮件或者病毒邮件。

5.目录遍历攻击(directory traversal)

非法访问服务器其它文件路径,比如/etc/passed。

6.XSS(跨站脚本攻击,cross-site script)

(1)表单
在URL添加JavaScript代码,获取用户表单信息,并且提交到攻击者的服务器。
(2)cookie
(3)显示伪造的图片、文章
保护cookie:httponly。

7.会话固定攻击(session fixation)

访问登录页面,利用服务器返回的URL诱导用户前去认证,再用用户的会话ID去登录网站。

8.CSRF(跨站点请求伪造,cross-site request forgeries) 利用已经认证的用户,向应用服务器发送请求,完成相应操作,比如发表言论,购买。
二、其它安全隐患
  1. 不能访问没有权限的文本内容,却能够访问图片资源
  2. 不恰当的错误信息抛出

    • 数据库管理系统抛出的错误
    • 后台应用抛出的程序错误
    • 前端校验错误信息提示
  3. 开放重定向
  4. 密码破解

    • 密码试错
      穷举法
      建立字典
    • 对加密的密码进行破解
      密码加密:密码+salt --> md5(散列函数)--> 保存散列值
      破解方法:

      • 穷举法、字典
        调用相同散列函数处理候选密码得到散列值,与目标散列值比对。

      • 彩虹表
        明文和散列值构成的数据库表。能够提高效率。类似字典攻击。

      • 拿到密钥

      • 利用加密算法的漏洞

5.点击劫持(clickjacking)
又称界面伪装,诱导客户点击存在陷阱的按钮或者链接。在合法页面上设置透明的iframe页面。

6.DoS攻击(denial of service attack)
又称拒绝服务攻击。
集中发送合法请求,消耗服务器资源。
DDoS攻击(distributed denial of service attack):多台计算机发送的DoS攻击。一般利用已经中毒的计算机作为工具发送DoS。

7.后门程序
分类:
开发阶段作为debug调用的后门程序
开发者为了自身利益植入的后门程序
攻击者设置的后门程序

0人推荐
随时随地看视频
慕课网APP