《Web应用渗透技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《Web应用渗透技术ppt课件.ppt(50页珍藏版)》请在三一办公上搜索。
1、Web应用渗透测试技术 主讲人:刘 璟,Outline,Web应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结,2,Web应用渗透技术基础,什么是渗透测试Web应用渗透测试OWASP Web漏洞TOP 10近期Web应用攻击典型案例渗透测试工具简介,3,什么是渗透测试,A penetration test (pentest) is a method of evaluating computer and network security by simulating an attack on a computer system or network from external an
2、d internal threats*.,4,什么是渗透测试,Penetration tests are valuable for several reasons*:Identifying higher-risk vulnerabilities that result from a combination of lower-risk vulnerabilities exploited in a particular sequenceIdentifying vulnerabilities that may be difficult or impossible to detect with aut
3、omated network or application vulnerability scanning softwareAssessing the magnitude of potential business and operational impacts of successful attacksTesting the ability of network defenders to successfully detect and respond to the attacks,5,Web应用渗透技术基础,什么是渗透测试Web应用渗透测试OWASP Web漏洞TOP 10近期Web应用攻击典
4、型案例渗透测试工具简介,6,典型的网络组织方式,Web is everywhere. 一个组织或公司提供对外的门户网站,7,Web应用程序体系结构,8,Web应用渗透技术基础,什么是渗透测试Web应用渗透测试OWASP Web漏洞TOP 10近期Web应用攻击典型案例渗透测试工具简介,9,OWASP Web漏洞TOP 10,The Open Web Application Security Project (OWASP) is a worldwide not-for-profit charitable organization focused on improving the security
5、 of software.OWASP Top Ten: The goal of the Top 10 project is to raise awareness about application security by identifying some of the most critical risks facing organizations.,10,OWASP Top Ten,SQL注入攻击(SQL Injection, SQLi):指发生在Web应用对后台数据库查询语句处理存在的安全漏洞。简单地说,就是在输入字符串中嵌入SQL指令,在设计程序中忽略了对特殊字符串的检查,嵌入的指令便会
6、被误认为正常的SQL指令。跨站脚本(Cross-Site Scripting, XSS):恶意使用者将程序代码(恶意脚本)注入到网页上,其他使用者在浏览网页时就会受到不同程度的影响。跨站伪造请求(Cross-Site Request Forgery, CSRF): 属于XSS的衍生。攻击者利用XSS的注入方式注入一段脚本,当受害者点击浏览器运行该脚本时,脚本伪造受害者发送了一个合法请求。,11,OWASP Top Ten,会话认证管理缺陷(Broken Authentication and Session Management, BASM):首次传送Cookie后,便不对Cookie中的内容进
7、行检查,攻击者便可修改Cookie中的重要信息,用来提升权限,或是冒用他人账号获取私密资料。安全误配置(Security Misconfiguration):存在于Web应用的各层次,譬如Web平台、Web服务器、应用服务器、程序代码等。不安全的密码存储(Insecure Cryptographic Storage)不安全的对象参考(Insecure Direct Object References):利用Web系统本身的文档读取功能,任意存取系统文档或资料。,12,补充知识:cookie,HTTP协议是无状态的。网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常
8、经过简单加密)。应用范围:保存购物信息、登录凭据等。Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。,13,OWASP Top Ten,限制URL访问失败(Failure to Restrict URL Access):例如内部员工使用的未公开URL泄露。缺乏传输层保护(Insufficient Transport Layer Protection):没有对传输层使用SSL/TLS等保护机制。过期或不正确的证书;后台数据库通信业存在类似问题。未验证的重定向(Unvalidated Redirects and Forwards):攻击者一般会通过
9、未验证重定向页面诱使受害者点击,从而获取密码或其他敏感数据。,14,例如:http:/,OWASP Top 10 2013,A1 InjectionA2 Broken Authentication and Session ManagementA3 Cross-Site Scripting (XSS)A4 Insecure Direct Object ReferencesA5 Security MisconfigurationA6 Sensitive Data ExposureA7 Missing Function Level Access ControlA8 Cross-Site Reques
10、t Forgery (CSRF)A9 Using Components with Known VulnerabilitiesA10 Unvalidated Redirects and Forwards,15,Web应用渗透技术基础,什么是渗透测试Web应用渗透测试OWASP Web漏洞TOP 10近期Web应用攻击典型案例渗透测试工具简介,16,SONY黑客攻击案,2011年4月17-4月19日,sony旗下著名游戏机PS3网络(Playstation Network,PSN)遭到攻击。7千万PSN和Qriocity音乐服务的用户个人信息被盗走。消息发布后,SONY在线娱乐系统的服务器也被攻击
11、。2460万用户信息,包括12700张非美国本土信用卡号、到账日期、支付记录。此次对PSN网络机器相关服务的攻击泄露了从过1亿用户数据,一千多万张信用卡信息,迫使索尼关闭PSN等网络,聘请了数家计算机安全公司调查攻击,重建安全系统,进行游戏用户赔偿等,造成损失达到几亿美圆,更不必说股价下跌、信用丧失等隐性损失。,17,SONY黑客攻击案,LulzSec组织不但宣称对某些攻击负责,而且公布了攻击过程、数据库信息甚至网站源码。声称利用SQL注入攻击获得了、sonybmg.nl和sonybmg.be的数据库信息。含100万索尼美国、荷兰和比利时客户个人信息,包括明文存储的密码、电子邮件、家庭地址等。
12、Anonymous组织和LulzSec组织在此次攻击中使用了SQL注入、本地文件包含漏洞利用,以及利用僵尸网络发动DDoS攻击。原因可能是由于PSN所用的RedHat系统中的Apache服务器没有及时升级安全补丁,是黑客成功入侵到内网。另外用户口令以明文或简单的Hash存储。,18,CSDN数据泄露门,2011年年底,国内各大网站爆出“口令泄露门”。最先公布的是著名技术网站CSDN 600万账户和口令泄露事件,网站由于存在SQL注入漏洞被攻击者利用并下载用户数据库。网站对用户的口令竟然是明文存储,由于用户习惯使用同一用户名和口令注册各种网站,导致用户口令一旦泄露,所有账户被“一网打尽”。此后不
13、久,多玩网、世纪佳缘、人人等网站相机爆发类似“拖库”事件,后来直接导致京东、当当等电商发生了“撞库”事件,攻击者利用先前网站泄露的数据编写程序进行大量匹配,查找有余额的账户进行消费,直接导致当当网迅速关闭买礼品卡充值账户功能。,19,Web应用渗透技术基础,什么是渗透测试Web应用渗透测试OWASP Web漏洞TOP 10近期Web应用攻击典型案例Web渗透测试工具简介,20,Web渗透测试工具简介,OWAS BWA(Broken Web Application)靶机Metasploit项目由著名的黑客HD Moore于2003年开始开发,最早作为一个渗透攻击代码的继承软件包而发布。现在的Me
14、tasploit框架中集成了数千个针对主流操作系统平台上,不同网络服务与应用软件安全漏洞的渗透攻击模块,可以由用户在渗透攻击场合中根据漏洞扫描结果进行选择,并且能够自由装配该平台上适用的具有指定功能的攻击载荷,对目标系统实施远程攻击并获取系统的访问控制权。Backtrack和Kali Linux: BackTrack是一个基于UbuntuGNU/Linux的发行版本,主要用做数字取证和入侵测试。BackTrack 给用户集成了大量功能强大但简单易用的安全工具软件。Kali Linux 1.0于2013年3月发布,是Backtrack的下一代版本。,21,Outline,Web应用渗透技术基础W
15、eb应用漏洞扫描探测Web应用程序渗透测试总结,22,Web应用漏洞扫描探测,OpenVAS(Open Vulnerability Assessment System):a open-source framework of several services and tools offering a vulnerability scanning and vulnerability management solution.简介对滇西开发网web server的扫描结果W3af:an open-source web application security scanner. The project
16、provides a vulnerability scanner and exploitation tool for Web applications.简介对滇西开发网web server的扫描结果,23,Outline,Web应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结,24,Web应用程序渗透测试,SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析,25,SQL注入攻击,“SQL注入”指的是向某个Web应用程序输入一个精心构造的SQL查询命令以执行某种非正常操作。SQL查询命令的语义很容易改变,只要在关键位置增加或者减少一个字符,就足以让原本无害
17、的查询命令产生相当有害的行为。在“SQL注入”攻击活动中,用来构造恶意输入内容的常见字符包括反引号()、双连字符(-)和分号(;)等,它们在SQL语言里都有着特殊含义。对于入门级黑客,这种攻击往往能让他们在未经授权的情况下访问到某些敏感的数据;而精通此道的高级黑客甚至能在绕过身份验证机制之后完全掌握Web服务器或后端SQL系统的控制权。,26,“SQL注入”攻击示例,27,SQL注入攻击演示,访问网站http:/ OR 1,Password字段注入:test OR 1后台验证SQL变为:SELECT * FROM users WHERE username= admin OR 1 AND pas
18、sword= test OR 1使用OWASP BWA靶机的DVWA应用程序演示如何获取后台数据库更多的信息。输入文件“XSS&SQLi.txt”中的脚本。,28,假设后台的查询语句是这样设置的:Select 列 from 表 where ID= ?因此如果输入 or 1=1 ,数据表的每一列都将显示出来。查询INFORMATION_SCHEMA系统表: UNION SELECT 1, table_name from INFORMATION_SCHEMA.tables - ,发现users表。列出user表的内容: UNION SELECT 1, column_name from INFORM
19、ATION_SCHEMA.columns where table_name = users - ,发现password列。取得口令的MD5值: UNION SELECT NULL, password from users - ,29,SQL注入攻击演示,使用concat()函数将所有的信息都列出来: UNION SELECT password, concat(first_name, , last_name, ,user) from users - 使用sqlmap获取口令明文。MD5 Hash值也可以在线查询:例如上面我们通过SQL注入攻击拿到了admin账户口令的MD5 Hash值为 “21
20、232f297a57a5a743894a0e4a801fc3”,我们通过上网查询,可以得到对应的口名明文。,30,SQL注入攻击演示,防范对策,使用绑定变量(参数化查询):只是用绑定变量来传递不同的参数到语句中。对来自客户端的所有输入都要执行严格的输入验证:编程箴言“限制、拒绝和净化”实施默认的错误处理:为所有错误使用一个通用的错误消息。锁定ODBC:禁止给客户端发送消息。锁定数据库服务器配置:指定用户、角色和权限。使用纲领性框架:诸如Hibernate或LINQ之类的工具鼓励你去使用绑定变量,31,Web应用程序渗透测试,SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例
21、分析,32,跨站脚本(XSS)攻击,XSS攻击通常也发生在Web应用程序对输入输出检查不充分的时候。但与其他攻击手段不同的是,XSS攻击的目标通常不是Web应用程序本身,而是使用这个带漏洞的Web应用程序的另一名用户。恶意用户A把一条包含着恶意代码的消息发布到了Web应用程序guestbook里,当用户B去查看这条消息时,用户B的浏览器将试图解释并执行那段恶意代码,使得A具有了能够完全控制B系统的可能。XSS攻击可导致帐户/会话被盗用、cookie被盗、企业的品牌形象被误导或诋毁等。利用XSS漏洞最常见的攻击是窃取一般情况下无法为外人所得的用户的会话cookie。但是最近的攻击已经变得更加恶意
22、,比如通过社交网路传播蠕虫,更严重的是,会利用恶意软件感染受害者电脑。,33,常见的XSS恶意输入,34,XSS攻击分类,反射式XSS攻击存储式XSS攻击,35,反射式XSS攻击,Alice经常浏览某个网站,此网站为Bob所拥有。在Bob的网站上,Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。Charlie发现Bob的站点包含反射性的XSS漏洞。Charlie编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。Alice在登录到Bob的站点之后,浏览Charlie提供的URL。嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob
23、的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等),然后在Alice完全不知情的情况下将这些信息发送给Charlie。,36,访问OWASP BWA靶机来演示,OWASP Broken Web Applications ProjectOWASP BWA靶机虚拟镜像*http:/ Damn Vulnerable Web Application )XSS reflected输入(1) alert(Have funs)(2)alert(document.cookie),37,存储式XSS攻击,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上
24、,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。Charlie注意到Bob的站点具有存储式XSS漏洞。Charlie发布一个热点信息,吸引其它用户纷纷阅读。Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charlie盗走。,38,使用OWASP BWA的Multillidae应用程序演示访问Mutillidae的Cross Site Scripting (XSS)输入:xss.js的内容如下:document.write (This is remote t
25、ext via xss.js located at ha.ckers.org + document.cookie); alert (This is remote text via xss.js located at ha.ckers.org + document.cookie);,39,访问OWASP BWA靶机来演示,防范对策,过滤输入参数中的特殊字符:禁止让Web应用程序的接受输入数据里包含以下字符: ( ) # &。对输出进行HTML编码如果你的应用程序设置了cookie,使用微软的HTTPOnly cookie。定期分析你的Web应用程序,40,Web应用程序渗透测试,SQL注入实例分
26、析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析,41,跨站点请求伪造,CSRF( Cross-Site Request Forgery ):网页应用程序为用户提供持久的认证会话(例如:Cookie),因此,它们不需要每请求一个页面便进行一次验证。但是如果攻击者能诱使用户向网站提交一个请求,他便可以利用持久的会话来假冒受害者执行各种操作。不良后果:用户账户口令会被更改、资金会被转移、商品会被订购等。,42,CSRF攻击示例,攻击者嵌入一个图像标签到一个网页中。并把网页上传到一个在线论坛。图像标签如下:当受害者加载该网页时,其浏览器提交GET请求以后去获取“图像”,但却是在目标网站上执
27、行恶意操作。,43,防范措施,阻止CSRF漏洞的关键在于如何将进入的请求绑定到经认证的会话上。Web应用程序应该插入随机值,绑定到指定用户的会话每一次用户要执行一个非常危险的操作时,都要求其进行重新认证。,44,Web应用程序渗透测试,SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析,45,命令注入实例分析,能够使攻击者执行原Web应用不能够执行的命令,当然命令执行的权限和被注入的Web服务进程的权限相同。DVSS网站的安全论坛尽管使用了一个很新的Wordpress系统版本,但它安装了zingiri-web-shop这个含有命令注入漏洞的插件。演示,46,防范措施,跟
28、SQL注入类似,由于Web应用缺乏对输入数据的验证和过滤。,47,Outline,Web应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结,48,总 结,随着在线世界已经融入到我们的生活中,Web攻击对于全球经济的威胁也变得越来越明显和越来越大。遵守一些简单的原则就可以化解这种风险。及时打好补丁并采用最安全的配置。对所有的用户输入和输出进行检查。一定要定期对自行开发的Web应用程序进行审计。自行开发的软件代码要靠自己来维护,没有软件商会为它们提供升级和补丁!,49,推荐书籍,黑客大曝光(第七版),Stuart McClure、Joel Scambray, George Kurtz 著,赵军、张云春、陈红松等译,清华大学出版社。Metasploit渗透测试指南,David Kennedy, Jimmy OGorman等著,诸葛建伟等译,电子工业出版社。Metasploit渗透测试魔鬼训练营,诸葛建伟、陈力波等著。,50,