Web应用渗透测试技术主讲人:刘璟OutlineWeb应用渗透技术基础Web应用漏洞扫描探测Web应用程序渗透测试总结2Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介3什么是渗透测试Apenetrationtest(pentest)isamethodofevaluatingcomputerandnetworksecuritybysimulatinganattackonacomputersystemornetworkfromexternalandinternalthreats*.4什么是渗透测试Penetrationtestsarevaluableforseveralreasons*:①Identifyinghigher-riskvulnerabilitiesthatresultfromacombinationoflower-riskvulnerabilitiesexploitedinaparticularsequence②Identifyingvulnerabilitiesthatmaybedifficultorimpossibletodetectwithautomatednetworkorapplicationvulnerabilityscanningsoftware③Assessingthemagnitudeofpotentialbusinessandoperationalimpactsofsuccessfulattacks④Testingtheabilityofnetworkdefenderstosuccessfullydetectandrespondtotheattacks5Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介6典型的网络组织方式Webiseverywhere.一个组织或公司提供对外的门户网站7DMZ网段Web服务器Mail服务器FTP服务器因特网外部网段防火墙内部网段个人工作站NT服务器Web应用程序体系结构8Web应用渗透技术基础什么是渗透测试Web应用渗透测试OWASPWeb漏洞TOP10近期Web应用攻击典型案例渗透测试工具简介9OWASPWeb漏洞TOP10TheOpenWebApplicationSecurityProject(OWASP)isaworldwidenot-for-profitcharitableorganizationfocusedonimprovingthesecurityofsoftware.OWASPTopTen:ThegoaloftheTop10projectistoraiseawarenessaboutapplicationsecuritybyidentifyingsomeofthemostcriticalrisksfacingorganizations.10OWASPTopTen①SQL注入攻击(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例如:=../../../../../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注入攻击获得了sonypicture.com、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是一个基于UbuntuGNU/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