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

下载本文档

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

文档简介

Web应用渗透测试技术

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

是一个基于Ubuntu

GNU/Linux的发行版本,主要用做数字取证和入侵测试。BackTrack给用户集成了大量功能强大但简单易用的安全工具软件。KaliLinux1.0于2013年3月发布,是Backtrack的下一代版本。21OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结22Web应用漏洞扫描探测OpenVAS(OpenVulnerabilityAssessmentSystem):aopen-sourceframeworkofseveralservicesandtoolsofferingavulnerabilityscanningandvulnerabilitymanagementsolution.简介对滇西开发网webserver的扫描结果W3af:anopen-sourcewebapplicationsecurityscanner.TheprojectprovidesavulnerabilityscannerandexploitationtoolforWebapplications.简介对滇西开发网webserver的扫描结果23OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结24Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析25SQL注入攻击“SQL注入”指的是向某个Web应用程序输入一个精心构造的SQL查询命令以执行某种非正常操作。SQL查询命令的语义很容易改变,只要在关键位置增加或者减少一个字符,就足以让原本无害的查询命令产生相当有害的行为。在“SQL注入”攻击活动中,用来构造恶意输入内容的常见字符包括反引号(`)、双连字符(--)和分号(;)等,它们在SQL语言里都有着特殊含义。对于入门级黑客,这种攻击往往能让他们在未经授权的情况下访问到某些敏感的数据;而精通此道的高级黑客甚至能在绕过身份验证机制之后完全掌握Web服务器或后端SQL系统的控制权。26“SQL注入”攻击示例27SQL注入攻击演示访问网站/,通过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”中的脚本。28假设后台的查询语句是这样设置的: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--'29SQL注入攻击演示使用concat()函数将所有的信息都列出来:'UNIONSELECTpassword,concat(first_name,'',last_name,'',user)fromusers--‘使用sqlmap获取口令明文。MD5Hash值也可以在线查询:例如上面我们通过SQL注入攻击拿到了admin账户口令的MD5Hash值为“21232f297a57a5a743894a0e4a801fc3”,我们通过上网查询,可以得到对应的口名明文。30SQL注入攻击演示防范对策使用绑定变量(参数化查询):只是用绑定变量来传递不同的参数到语句中。对来自客户端的所有输入都要执行严格的输入验证:编程箴言“限制、拒绝和净化”实施默认的错误处理:为所有错误使用一个通用的错误消息。锁定ODBC:禁止给客户端发送消息。锁定数据库服务器配置:指定用户、角色和权限。使用纲领性框架:诸如Hibernate或LINQ之类的工具鼓励你去使用绑定变量31Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析32跨站脚本(XSS)攻击XSS攻击通常也发生在Web应用程序对输入输出检查不充分的时候。但与其他攻击手段不同的是,XSS攻击的目标通常不是Web应用程序本身,而是使用这个带漏洞的Web应用程序的另一名用户。恶意用户A把一条包含着恶意代码的消息发布到了Web应用程序guestbook里,当用户B去查看这条消息时,用户B的浏览器将试图解释并执行那段恶意代码,使得A具有了能够完全控制B系统的可能。XSS攻击可导致帐户/会话被盗用、cookie被盗、企业的品牌形象被误导或诋毁等。利用XSS漏洞最常见的攻击是窃取一般情况下无法为外人所得的用户的会话cookie。但是最近的攻击已经变得更加恶意,比如通过社交网路传播蠕虫,更严重的是,会利用恶意软件感染受害者电脑。33常见的XSS恶意输入34XSS攻击分类反射式XSS攻击存储式XSS攻击35反射式XSS攻击Alice经常浏览某个网站,此网站为Bob所拥有。在Bob的网站上,Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。Charlie发现Bob的站点包含反射性的XSS漏洞。Charlie编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。Alice在登录到Bob的站点之后,浏览Charlie提供的URL。嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等),然后在Alice完全不知情的情况下将这些信息发送给Charlie。36访问OWASPBWA靶机来演示OWASPBrokenWebApplicationsProjectOWASPBWA靶机虚拟镜像*/dvwa(DamnVulnerableWebApplication)XSSreflected输入(1)<script>alert('Havefuns')</script>(2)<script>alert(document.cookie)</script>37存储式XSS攻击该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。Charlie注意到Bob的站点具有存储式XSS漏洞。Charlie发布一个热点信息,吸引其它用户纷纷阅读。Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charlie盗走。38使用OWASPBWA的Multillidae应用程序演示访问Mutillidae的CrossSiteScripting(XSS)输入:<SCRIPT/XSSSRC="/xss.js"></SCRIPT>xss.js的内容如下:document.write("Thisisremotetextviaxss.jslocatedat"+document.cookie);alert("Thisisremotetextviaxss.jslocatedat"+document.cookie);39访问OWASPBWA靶机来演示防范对策过滤输入参数中的特殊字符:禁止让Web应用程序的接受输入数据里包含以下字符:<>()#&。对输出进行HTML编码如果你的应用程序设置了cookie,使用微软的HTTPOnlycookie。定期分析你的Web应用程序40Web应用程序渗透测试SQL注入实例分析XSS跨站脚本攻击实例分析跨站点请求伪造命令注入实例分析41跨站点请求伪造CSRF(Cross-SiteRequestForgery):网页应用程序为用户提供持久的认证会话(例如:Cookie),因此,它们不需要每请求一个页面便进行一次验证。但是如果攻击者能诱使用户向网站提交一个请求,他便可以利用持久的会话来假冒受害者执行各种操作。不良后果:用户账户口令会被更改、

温馨提示

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

评论

0/150

提交评论