第四章Web应用渗透技术_第1页
第四章Web应用渗透技术_第2页
第四章Web应用渗透技术_第3页
第四章Web应用渗透技术_第4页
第四章Web应用渗透技术_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章Web应用渗透技术第一页,共71页。OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结2第二页,共71页。Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介3第三页,共71页。什么是渗透测试Apenetrationtest(pentest)isamethodofevaluatingcomputerandnetworksecuritybysimulatinganattackonacomputersystemornetworkfromexternalandinternalthreats*.4第四页,共71页。什么是渗透测试Penetrationtestsarevaluableforseveralreasons*:Identifyinghigher-riskvulnerabilitiesthatresultfromacombinationoflower-riskvulnerabilitiesexploitedinaparticularsequenceIdentifyingvulnerabilitiesthatmaybedifficultorimpossibletodetectwithautomatednetworkorapplicationvulnerabilityscanningsoftwareAssessingthemagnitudeofpotentialbusinessandoperationalimpactsofsuccessfulattacksTestingtheabilityofnetworkdefenderstosuccessfullydetectandrespondtotheattacks5第五页,共71页。Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介6第六页,共71页。典型的网络组织方式Webiseverywhere.一个组织或公司提供对外的门户网站7第七页,共71页。Web应用程序体系结构8第八页,共71页。Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介9第九页,共71页。OWASPWeb漏洞TOP10TheOpenWebApplicationSecurityProject(OWASP)isaworldwidenot-for-profitcharitableorganizationfocusedonimprovingthesecurityofsoftware.OWASPTopTen:ThegoaloftheTop10projectistoraiseawarenessaboutapplicationsecuritybyidentifyingsomeofthemostcriticalrisksfacingorganizations.10第十页,共71页。补充知识:cookieHTTP协议是无状态的。网站为了辨别用户身份而储存在用户本地终端(ClientSide)上的数据(通常经过简单加密)。应用范围:保存购物信息、登录凭据等。Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。11第十一页,共71页。Cookie是什么12第十二页,共71页。Cookie是什么13第十三页,共71页。Cookie是什么14第十四页,共71页。Cookie是什么Windows8:

按住窗口键+R,输入shell:cookies15第十五页,共71页。Cookie是什么16第十六页,共71页。Cookie原理17第十七页,共71页。Cookie原理18第十八页,共71页。Cookie应用19第十九页,共71页。Cookie的缺陷20第二十页,共71页。Cookie隐私和安全21第二十一页,共71页。Cookie隐私和安全22第二十二页,共71页。OWASPTopTenSQL注入攻击(SQLInjection,SQLi):指发生在Web应用对后台数据库查询语句处理存在的安全漏洞。简单地说,就是在输入字符串中嵌入SQL指令,在设计程序中忽略了对特殊字符串的检查,嵌入的指令便会被误认为正常的SQL指令。跨站脚本(Cross-SiteScripting,XSS):恶意使用者将程序代码(恶意脚本)注入到网页上,其他使用者在浏览网页时就会受到不同程度的影响。跨站伪造请求(Cross-SiteRequestForgery,CSRF):属于XSS的衍生。攻击者利用XSS的注入方式注入一段脚本,当受害者点击浏览器运行该脚本时,脚本伪造受害者发送了一个合法请求。23第二十三页,共71页。OWASPTopTen会话认证管理缺陷(BrokenAuthenticationandSessionManagement,BASM):首次传送Cookie后,便不对Cookie中的内容进行检查,攻击者便可修改Cookie中的重要信息,用来提升权限,或是冒用他人账号获取私密资料。安全误配置(SecurityMisconfiguration):存在于Web应用的各层次,譬如Web平台、Web服务器、应用服务器、程序代码等。不安全的密码存储(InsecureCryptographicStorage)不安全的对象参考(InsecureDirectObjectReferences):利用Web系统本身的文档读取功能,任意存取系统文档或资料。24第二十四页,共71页。OWASPTopTen限制URL访问失败(FailuretoRestrictURLAccess):例如内部员工使用的未公开URL泄露。缺乏传输层保护(InsufficientTransportLayerProtection):没有对传输层使用SSL/TLS等保护机制。过期或不正确的证书;后台数据库通信业存在类似问题。未验证的重定向(UnvalidatedRedirectsandForwards):攻击者一般会通过未验证重定向页面诱使受害者点击,从而获取密码或其他敏感数据。例如:25第二十五页,共71页。OWASPTop102013A1InjectionA2BrokenAuthenticationandSessionManagementA3Cross-SiteScripting(XSS)A4InsecureDirectObjectReferencesA5SecurityMisconfigurationA6SensitiveDataExposureA7MissingFunctionLevelAccessControlA8Cross-SiteRequestForgery(CSRF)A9UsingComponentswithKnownVulnerabilitiesA10UnvalidatedRedirectsandForwards26第二十六页,共71页。Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介27第二十七页,共71页。SONY黑客攻击案2011年4月17-4月19日,sony旗下著名游戏机PS3网络(PlaystationNetwork,PSN)遭到攻击。7千万PSN和Qriocity音乐服务的用户个人信息被盗走。消息发布后,SONY在线娱乐系统的服务器也被攻击。2460万用户信息,包括12700张非美国本土信用卡号、到账日期、支付记录。此次对PSN网络机器相关服务的攻击泄露了从过1亿用户数据,一千多万张信用卡信息,迫使索尼关闭PSN等网络,聘请了数家计算机安全公司调查攻击,重建安全系统,进行游戏用户赔偿等,造成损失达到几亿美圆,更不必说股价下跌、信用丧失等隐性损失。28第二十八页,共71页。SONY黑客攻击案LulzSec组织不但宣称对某些攻击负责,而且公布了攻击过程、数据库信息甚至网站源码。声称利用SQL注入攻击获得了、sonybmg.nl和sonybmg.be的数据库信息。含100万索尼美国、荷兰和比利时客户个人信息,包括明文存储的密码、电子邮件、家庭地址等。Anonymous组织和LulzSec组织在此次攻击中使用了SQL注入、本地文件包含漏洞利用,以及利用僵尸网络发动DDoS攻击。原因可能是由于PSN所用的RedHat系统中的Apache服务器没有及时升级安全补丁,使黑客成功入侵到内网。另外用户口令以明文或简单的Hash存储。29第二十九页,共71页。CSDN数据泄露门2011年年底,国内各大网站爆出“口令泄露门”。最先公布的是著名技术网站CSDN600万账户和口令泄露事件,网站由于存在SQL注入漏洞被攻击者利用并下载用户数据库。网站对用户的口令竟然是明文存储,由于用户习惯使用同一用户名和口令注册各种网站,导致用户口令一旦泄露,所有账户被“一网打尽”。此后不久,多玩网、世纪佳缘、人人等网站相机爆发类似“拖库”事件,后来直接导致京东、当当等电商发生了“撞库”事件,攻击者利用先前网站泄露的数据编写程序进行大量匹配,查找有余额的账户进行消费,直接导致当当网迅速关闭买礼品卡充值账户功能。30第三十页,共71页。Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例Web渗透测试工具简介31第三十一页,共71页。Web渗透测试工具简介OWASPBWA(BrokenWebApplication)靶机Metasploit项目由著名的黑客HDMoore于2003年开始开发,最早作为一个渗透攻击代码的继承软件包而发布。现在的Metasploit框架中集成了数千个针对主流操作系统平台上,不同网络服务与应用软件安全漏洞的渗透攻击模块,可以由用户在渗透攻击场合中根据漏洞扫描结果进行选择,并且能够自由装配该平台上适用的具有指定功能的攻击载荷,对目标系统实施远程攻击并获取系统的访问控制权。Backtrack和KaliLinux:BackTrack

是一个基于Ubuntu

GNU/Linux的发行版本,主要用做数字取证和入侵测试。BackTrack给用户集成了大量功能强大但简单易用的安全工具软件。KaliLinux1.0于2013年3月发布,是Backtrack的下一代版本。32第三十二页,共71页。OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结33第三十三页,共71页。Web应用漏洞扫描探测OpenVAS(OpenVulnerabilityAssessmentSystem):aopen-sourceframeworkofseveralservicesandtoolsofferingavulnerabilityscanningandvulnerabilitymanagementsolution.W3af:anopen-sourcewebapplicationsecurityscanner.TheprojectprovidesavulnerabilityscannerandexploitationtoolforWebapplications.34第三十四页,共71页。OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结35第三十五页,共71页。Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析36第三十六页,共71页。Web应用组件间的通信37第三十七页,共71页。SQL注入攻击“SQL注入”指的是向某个Web应用程序输入一个精心构造的SQL查询命令以执行某种非正常操作。SQL查询命令的语义很容易改变,只要在关键位置增加或者减少一个字符,就足以让原本无害的查询命令产生相当有害的行为。在“SQL注入”攻击活动中,用来构造恶意输入内容的常见字符包括反引号(`)、双连字符(--)和分号(;)等,它们在SQL语言里都有着特殊含义。对于入门级黑客,这种攻击往往能让他们在未经授权的情况下访问到某些敏感的数据;而精通此道的高级黑客甚至能在绕过身份验证机制之后完全掌握Web服务器或后端SQL系统的控制权。38第三十八页,共71页。“SQL注入”攻击示例39第三十九页,共71页。SQL注入攻击演示访问网站,通过SQL注入攻击绕过身份认证机制。Username字段注入:admin’OR‘1,Password字段注入:test’OR‘1后台验证SQL变为:SELECT*FROM[users]WHEREusername=‘admin’OR‘1’ANDpassword=‘test’OR‘1’使用OWASPBWA靶机的DVWA应用程序演示如何获取后台数据库更多的信息。输入文件“XSS&SQLi.txt”中的脚本。40第四十页,共71页。假设后台的查询语句是这样设置的:Select列from表whereID=?因此如果输入‘or’1=1,数据表的每一列都将显示出来。查询INFORMATION_SCHEMA系统表:'UNIONSELECT1,table_namefromINFORMATION_SCHEMA.tables--',发现users表。列出user表的内容:'UNIONSELECT1,column_namefromINFORMATION_SCHEMA.columnswheretable_name='users'--',发现password列。取得口令的MD5值:'UNIONSELECTNULL,passwordfromusers--'SQL注入攻击演示41第四十一页,共71页。使用concat()函数将所有的信息都列出来:'UNIONSELECTpassword,concat(first_name,'',last_name,'',user)fromusers--‘SQL注入攻击演示42第四十二页,共71页。Sqlmap简介开源的命令行自动SQL注入工具。能够对多种主流数据库进行扫描支持。支持五种SQL注入技术:基于布尔值的盲注、基于时间的盲注、基于错误的盲注、UNION查询和stacked查询。检索DBMS的会话用户和数据库。枚举用户、哈希口令、权限和数据库、表、列。转储这个DBMS的表和列,或者用户指定的表和列。自动识别后台账户的哈希口令,并通过字典进行暴力破解。运行自定义的SQL语句。导出整个数据库的表文件。43第四十三页,共71页。使用Sqlmap进行攻击输入文件“XSS&SQLi.txt”中的脚本。(1)扫描SQL注入点(2)获取数据库名(3)获取dvwa数据库中存在的表名(4)获取users表中的字段列表(5)把Password字段内容搞出来(6)获取口令明文44第四十四页,共71页。防范对策使用绑定变量(参数化查询):只是用绑定变量来传递不同的参数到语句中。对来自客户端的所有输入都要执行严格的输入验证:编程箴言“限制、拒绝和净化”实施默认的错误处理:为所有错误使用一个通用的错误消息。锁定ODBC:禁止给客户端发送消息。锁定数据库服务器配置:指定用户、角色和权限。使用纲领性框架:诸如Hibernate或LINQ之类的工具鼓励你去使用绑定变量45第四十五页,共71页。Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析46第四十六页,共71页。跨站脚本(XSS)攻击XSS攻击通常也发生在Web应用程序对输入输出检查不充分的时候。但与其他攻击手段不同的是,XSS攻击的目标通常不是Web应用程序本身,而是使用这个带漏洞的Web应用程序的另一名用户。恶意用户A把一条包含着恶意代码的消息发布到了Web应用程序guestbook里,当用户B去查看这条消息时,用户B的浏览器将试图解释并执行那段恶意代码,使得A具有了能够完全控制B系统的可能。XSS攻击可导致帐户/会话被盗用、cookie被盗、企业的品牌形象被误导或诋毁等。利用XSS漏洞最常见的攻击是窃取一般情况下无法为外人所得的用户的会话cookie。但是最近的攻击已经变得更加恶意,比如通过社交网路传播蠕虫,更严重的是,会利用恶意软件感染受害者电脑。47第四十七页,共71页。常见的XSS恶意输入48第四十八页,共71页。XSS攻击分类反射式XSS攻击存储式XSS攻击49第四十九页,共71页。反射式XSS攻击Alice经常浏览某个网站,此网站为Bob所拥有。在Bob的网站上,Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。Charlie发现Bob的站点包含反射性的XSS漏洞。Charlie编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。Alice在登录到Bob的站点之后,浏览Charlie提供的URL。嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等),然后在Alice完全不知情的情况下将这些信息发送给Charlie。50第五十页,共71页。访问OWASPBWA靶机来演示OWASPBrokenWebApplicationsProjectOWASPBWA靶机虚拟镜像*/dvwaDamnVulnerableWebApplication)XSSreflected输入(1)<script>alert('Havefuns')</script>(2)<script>alert(document.cookie)</script>51第五十一页,共71页。存储式XSS攻击该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。Charlie注意到Bob的站点具有存储式XSS漏洞。Charlie发布一个热点信息,吸引其它用户纷纷阅读。Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charlie盗走。52第五十二页,共71页。存储式XSS攻击53第五十三页,共71页。使用OWASPBWA的Multillidae应用程序演示访问Mutillidae的CrossSiteScripting(XSS)输入:<SCRIPT/XSSSRC=""></SCRIPT>xss.js的内容如下:document.write("Thisisremotetextviaxss.jslocatedat"+document.cookie);alert("Thisisremotetextviaxss.jslocatedat"+document.cookie);访问OWASPBWA靶机来演示54第五十四页,共71页。防范对策过滤输入参数中的特殊字符:禁止让Web应用程序的接受输入数据里包含以下字符:<>()#&。对输出进行HTML编码如果你的应用程序设置了cookie,使用微软的HTTPOnlycookie。定期分析你的Web应用程序55第五十五页,共71页。使用browser_autopwn进行XSS攻击Metasploit的浏览器自动攻击模块autopwn演示使用autopwn进行XSS攻击(1)参考教材164页(pdf文件187页)代码清单4-25在MSFConsole中调入autopwn模块;(2)参考教材252-254页(pdf文件275页-277页)使用autopwn对靶机windows2003server进行攻击。56第五十六页,共71页。Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析57第五十七页,共71页。跨站点请求伪造CSRF(Cross-SiteRequestForgery):网页应用程序为用户提供持久的认证会话(例如:Cookie),因此,它们不需要每请求一个页面便进行一次验证。但是如果攻击者能诱使用户向网站提交一个请求,他便可以利用持久的会话来假冒受害者执行各种操作。不良后果:用户账户口令会被更改、资金会被转移、商品会被订购等。58第五十八页,共71页。CSRF攻击示例攻击者嵌入一个图像标签到一个网页中。并把网页上传到一个在线论坛。图像标签如下:<imgsrc=“”>当受害者加载该网页时,其浏览器提交GET请求以后去获取“图像”,但却是在目标网站上执行恶意操作。59第五十九页,共71页。防范措施阻止CSRF漏洞的关键在于如何将进入的请求绑定到经认证的会话上。Web应用程序应该插入随机值,绑定到指定用户的会话每一次用户要执行一个非常危险的操作时,都要求其进行重新认证。60第六十页,共71页。Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析61第六十一页,共71页。命令注入实例分析能够使攻击者执行原Web应用不能够执行的命令,当然命令执行的权限和被注入的Web服务进程的权限相同。DVSS网站的安全论坛尽管使用了一个很新的Wordpress系统版本,但它安装了zingiri-web-shop这个含有命令注入漏洞的插件。演示62第六十二页,共71页。防范措施跟SQL注入类似,由于Web应用缺乏对输入数据的验证和过滤。63第六十三页,共71页。文件包含和文件上传漏洞本地文件包含(Local,LFI):通过浏览器引进(包含)Web服务器上的文件。该漏洞发生在浏览器包含文件时没有进行严格的过滤,允许遍历目录的字符注入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论