1、标题文本,正文级别 1,正文级别 2,正文级别 3,正文级别 4,正文级别 5,WEB Security,WEB安全简介,cnrstar四维创智,毕业于电子科技大学,5,年以上的网络攻防经验,,在校期间参加学校与总参三部、四部多个合作项目,曾为,XX,国安厅、某省公安厅作网络渗透服务工作,毕业后曾就职于,XX,国安厅一年,主要负责情报、取证等工作。,现就职于四维创智(北京)科技发展有限公司,负责解放军信息技术安全研究中心科研项目,同时承担对外安全服务与安全培训。,一句话:转行的职业黑客,自我介绍,目录,网络安全现状,安全圈简介,渗透测试概述,APT攻击技术,WEB安全技术初探,网络安全现状,
2、从斯诺登泄密发现潜在威胁,斯诺登披露棱镜计划显示,电邮、即时消息等10类信息的细节都被监控。,美国国家安全局曾入侵中国电讯公司以获取手机短信信息,并持续攻击清华大学的主干网络以及电讯公司Pacnet香港总部的计算机,2009年起NSA就开始入侵华为总部的服务器。,危机四伏的网络世界,据前NSA合同工Edward Snowden泄露的文件,NSA设计窃取机密文件的恶意程序感染了超过五万个区域网络。一份日期为2012年的幻灯片显示(如左图),NSA在50000多个地点通过安装恶意程序展开秘密渗透。,NSA标注为最高机密的内容收集计划(Contect Acquisition Optimization
3、曝光。该计划目标是包括美国公民在内的全球用户。读取你的邮件地址薄,爬取你的即时通讯软件的好友列表,每年收集2.5亿个电子邮件地址和即时通讯账号。,美国国安局(NSA)在世界范围内收集了上亿联系人信息,包括email地址、信息账号等,其中很多位美国公民。此为NSA最高机密。,国家的角力美国网军,TAO的使命很简单,那就是,搜集外国目标的情报信息,,具体方法则包括秘密入侵海外目标的电脑和电信系统、破解密码、攻破保护目标电脑的安全系统、窃取存储在电脑硬盘上的数据,然后复制目标电子邮件和文本信息系统内的所有消息和数据流量。NSA使用“电脑网络开发”(computer network exploita
4、tion,简称“CNE”)这一技术术语来描述这些行动。,TAO还负责研究一些信息,使得美国可以在得到总统的授权下,通过网络攻击破坏国外电脑和通讯系统。负责实施这种攻击的机构名叫“美国数字指挥部”(Cybercom),其总部设在米德堡,负责人由NSA局长基思亚历山大(Keith Alexander)将军兼任。,自1997年创建以来,TAO就以向美国情报界提供最好的情报而闻名,享有盛誉。TAO提供的情报不仅仅与中国有关,还包括外国恐怖组织、外国政府对美国进行的间谍活动、全球各地发展的弹道导弹和大规模杀伤性武器,以及全球各地最新的政治、军事和经济发展情报。,匿名者攻击中国网络,2012年5月起,中国
5、部分政府网站相继被匿名者黑客组织(AnonymousHacker)入侵或造成网站服务器信号中断,部分网站甚至被盗取客户资料。匿名者的攻击从未间断过,这将会是一个长久持续的隐患。,无处不在的威胁不止匿名者,随着最近几年的互联网发展,网络安全的话题也被推向了风口浪尖,包括美国五角大楼、国防部的资料泄密,英国情报泄密,奥巴马社交帐号被盗,adobe和apple数据库泄漏等等各个国家以及世界500强企业出现的网络安全问题。,在所有受攻击的企业和单位中,国家机关、涉密单位、科研院校、金融单位等涉及国家机密和资金安全的,遭到黑客攻击的技术含量和攻击频率远高于普通企业。甚至有涉密单位在一个月之内就遭到多个不
6、同组织的近千次攻击窥测。,而与涉密单位相关的个人电脑、手机、U盘等私人物品,也往往会成为黑客攻击的突破口。例如,有些承担军队研究任务的院校,其研究人员的个人电脑也经常遭到攻击,攻击者企图通过对U盘、移动硬盘、手机的攻击,将其作为跳板,进而攻击涉密网络,一旦成功则会造成机密资料外泄的严重后果。,安全圈简介,黑客层级,Level 1愣头青【百万人】:会使用安全工具,只能简单扫描、破译密码,Level 2系统管理员【上万人】:善用安全工具,特别熟悉系统及网络,Level 3大公司的开发人员或核心安全公司大牛【几千人】:对操作系统特别熟悉,开始开发代码,写自己的扫描器,Level 4能找到并利用漏洞【
7、几百人】:自己能找漏洞、自己找0day并且写exp利用漏洞的;对系统做挖掘漏洞的协议测试,Level 5高水平【少于百人】:防御和构建系统的人,Level 6精英级【几十人到十几人】:对操作系统的理解很深入,Level 7大牛牛【寥寥无几】:马克扎克伯格、艾伯特爱因斯坦等改变世界的人,渗透测试概述,渗透测试概念,模拟真实黑客发起的网络攻击,旨在检测目标网络安全性,专业性强,覆盖知识点较多,(Web、数据库、网络架构、安防设备等),攻击手法已经成型且固定,攻击思路更显重要,迷宫游戏:永远不知道自己下一步遇见的是什么情况,经验+那么一点点的灵感,渗透测试术语简介,扫描,木马、病毒,黑帽子、白帽子,
8、社会工程学,钓鱼,poc、exploit,WebShell,DDoS,ARP攻击,0day,常见攻击技术,XSS,CSRF,越权、逻辑错误,目录遍历,SQL,注入,漏洞利用(MySQL认证漏洞、远程代码执行等),DDOS(带宽消耗),ARP,欺骗,WEB,DB,网络层,系统层,DDOS(资源消耗),远程溢出(MS08-067、MS10-020),Rootkit,0day(虚拟机逃逸、本地溢出提权等),远程代码执行,网页挂马,文件包含,了解APT攻击,APT简介,Advanced Persistent Threat,组织严密、高投入,策划完善、目标明确,全方位渗透、不择手段,持续性久、难防御,隐
9、蔽性高、难发现,攻击目标,WEB or Email?,Web攻击是邮件钓鱼攻击的5倍!,APT攻击案例,极光计划,针对Google的一次定向攻击,BeeBus行动,FireEye指中国61398部队对美国无人机制造商的攻击,可汗探索2014,“概念制定会议声明信息-2014可汗探索军演草案文件”-,CVE-2012-0158,目标为蒙古国防部负责计划和演习的部门,APT攻击团队,山猫小组,商业间谍、政府承包商,以入侵Bit9为基础,攻击多个政府组织,IceFog,重点针对政府和军事机构,组合使用社会工程学和0day,渗透测试流程,信息收集,扫描探测,漏洞利用,通道控制,内网扩展,资料回传,信息
10、收集,目的,了解目标网络架构,了解目标业务架构,制定攻击路线,不做破坏,仅踩点,手段,Whois信息、二级域名扫描,IP段端口与服务扫描,网站信息收集,合作单位信息收集,Linkedin、Facebook、微博等SNS信息收集,购买相关信息(公司通信录等),扫描探测,WEB指纹识别,服务指纹识别,木桶原理与网络边界,漏洞利用,传统WEB漏洞,SQL注入、XSS、上传、命令执行,弱口令与服务设置缺陷,服务弱口令(SSH、FTP、RDP、DB),WEB弱口令(后台、企业邮箱、论坛),定向挂马与水坑攻击,0day组合利用,社会工程学,已有数据库(渗透“秘密”),无意泄露的密码(Github,百度例子
11、交互式钓鱼,水坑攻击(打折信息、送电子设备等),潜伏与内网渗透,通道维护,正向:WebShell、管理密码,反向:木马、rootkit、bootkit,域渗透与非域环境渗透,潜伏之特种木马,震网(Stuxnet)是一种Windows平台上的计算机蠕虫,该蠕虫病毒已感染并破坏了伊朗的核设施,使伊朗的布什尔核电站推迟启动。,穿透物理隔绝网络,敏感的网络都是物理隔离的,特种木马如何穿透隔离?,HID攻击,Teensy是一个基于USB接口非常小巧而又功能完整的单片机开发系统,它能够实现多种类型的项目开发和设计。Teensy为开源项目,任何有能力有技术的都可以生产定制。其中PJRC是最优秀的或者说商
12、业化最好的生产商。,特种木马特性,穿透代理(ISA、Bluecoat等),绕过流量监控与防火墙检测,多协议(TCP、UDP直连、HTTP、ICMP等),自定义通信加密绕过检测,白加黑注入正常程序执行,资料回传(指定时间、速度限制),智能木马(木马协作抵御查杀),WEB安全技术初探,WEB时代,WEB 1.0,WEB 2.0,未来发展,为何WEB如此重要,和数据库联动,关联敏感数据,工控、监控、VPN、邮箱等系统,作为跳板攻击其他核心应用,挂马、篡改,DMZ区到核心区域的突破口,网络基本架构,简单的网站模型,数据库管理系统,/,数据库,数据库服务器,客户端,用户,1,的,PC,客户端,用户,2,
13、的,PC,客户端,黑客的,PC,网站,WEB,服务器,动态网站工作过程,客 户 端,数 据 库,脚本引擎,用户想要查看,ID,为,36,的文章,请,求,返,回,*from Article where id=,36,,向数据库发起查询请求,在,Article,表中查询,id,为,36,的所有记录,返回查询到的所有记录,处理返回的所有记录,如过滤和编码特殊字符等,生成静态网页并返回给客户端,将网站返回的网页展示给用户,HTTP协议与抓包工具,Burpsuit安装与使用,Fiddler安装与使用,HTTP协议讲解,SQL注入概述,2000,年,How I Hacked PacketStorm,引发,
14、SQL,注入研究,2005-2010,引发SQL注入高潮。“啊D”,“明小子”,“穿山甲”“Sqlmap”,2014,年,依旧存在大量注入实例,SQL注入概述,SQL注入的定义:,很多应用程序都使用数据库来存储信息。SQL命令就是前端应用程序和后端数据库之间的接口。攻击者可利用应用程序根据提交的数据动态生成SQL命令的特性,在URL、表单域,或者其他的输入域中输入自己的SQL命令,改变SQL命令的操作,将被修改的SQL命令注入到后端数据库引擎执行。,SQL注入的危害:,这些危害包括但不局限于:,数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。,网页篡改:通过操作数据库对特定网页进行篡改。,
15、网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。,数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。,服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。,破坏硬盘数据,瘫痪全系统。,一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。,数据库基础概念,图像、语音、文字等,数据,(Data),在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据。,Access,、,MSSQL,、,Oracle,、,SQLITE,、,MySQL,等,数据库,(Datab
16、ase),数据库是按照数据结构来组织、存储和管理数据的,“,仓库,”,。,Access,、,MSSQL,、,Oracle,、,SQLITE,、,MySQL,等,数据库管理系统,(DBMS),数据库管理系统,(database management system),是一种操纵和管理数据库的软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。,DQL,、,DDL,、,DML,、,TCL,、,DCL,结构化查询语言,(SQL),结构化查询语言,(Structured Query Language),简称,SQL,,结构化查询语言是一种数据库查询和程序设计语
17、言,用于存取数据以及查询、更新和管理关系数据库系统。,SQL注入产生过程,轻信用户输入带来的恶果(其他漏洞类似),产生条件,输入可控,特定输入被带入数据库查询,结合代码分析,数据库组成,库(database),表(table),字段(column),为什么要使用数据库,静态网页:,html或者htm,是一种静态的页面格式,不需要服务器解析其中的脚本。由浏览器如(IE、Chrome等)解析。,1.不依赖数据库,2.灵活性差,制作、更新、维护麻烦,3.交互性交差,在功能方面有较大的限制,4.安全,不存在SQL注入漏洞,动态网页:,asp、aspx、php、jsp等,由相应的脚本引擎来解释执行,根据
18、指令生成静态网页。,1.依赖数据库,2.灵活性好,维护简便,3.交互性好,功能强大,4.存在安全风险,可能存在SQL注入漏洞,SQL注入对渗透测试的作用,绕过登录验证:万能密码,获取敏感数据:获取网站管理员帐号密码,文件操作:列目录、读写文件,注册表操作:增删改查注册表,执行系统命令:借助接口执行系统命令,无处不在的HACK,查找SQL注入,哪些地方可能存在注入漏洞?,参数名,目录名,参数值,文件名,Cookie,.,未经检查和过滤即,被代入到,SQL,命令中,SQL,注入,漏洞,最普遍的注入漏洞是由于参数值过滤不严导致的。,Cookie,注入漏洞普遍存在于,ASP,的程序中。,参数名、目录名
19、文件名等注入漏洞通常存在于有网站路由的程序中。,查找SQL注入,自动化、范围广、效率高,误报、漏报、测试范围有限,测试范围广、准确,效率高,与测试者经验有关,自动化测试,人工测试,判断SQL注入的依据,判断注入漏洞的依据是什么?,根据客户端返回的结果来判断提交的测试语句是否成功被数据库,引擎执行,如果测试语句被执行了,说明存在注入漏洞。,构,造,测,试,语,句,提交请求,分析返回结果,符合预期结果,不符合预期结果,存在,SQL,注入漏,洞,不存在,SQL,注入,漏洞,SQL注入分类,按数据类型,按返回结果,数字型注入,字符型注入,显错注入,盲注,数字型注入测试,测试字符串,变种,预期结果,触
20、发错误,如果成功,数据库将返回一个错误。,value+0,value-0,如果成功,将返回与原请求相同的结果。,value/1,value*1,如果成功,将返回与原请求相同的结果。,1 or 1=1,1)or(1=1,永真条件。如果成功,将返回表中所有的行。,value or 1=2,value)or(1=2,空条件。如果成功,则返回与原请求相同的结果。,1 and 1=2,1)or(,ab,=,a,+,b,永假条件。如果成功则不返回表中任何行。,1 or,ab,=,a,+,b,1)or(,ab,=,a,+,b,SQL Server,串联。如果成功,则返回与永真条件相同的信息,1 or,ab,
21、a,b,1)or(,ab,=,a,b,Mysql,串联。如果成功,则返回与永真条件相同的信息,1 or,ab,=,a,|,b,1)or(,ab,=,a,|,b,Oracle,串联。如果成功,则返回与永真条件相同的信息,字符型注入测试,测试字符串,变种,预期结果,触发错误,如果成功,数据库将返回一个错误。,1 or 1=1,1)or(1=1,永真条件。如果成功,将返回表中所有的行。,value or 1=2,value)or(1=2,空条件。如果成功,则返回与原请求相同的结果。,1 and 1=2,1)or(,ab,=,a,+,b,永假条件。如果成功则不返回表中任何行。,1 or,ab,=,a,+,b,1)or(,ab,=,a,+,b,SQL Server,串联。如果成功,则返回与永真条件相同的信息,1 or,ab,=,a,b,1)or(,ab,=,a,b,Mysql,串联。如果成功,则返回与永真条件相同的信息,1 or,ab,=,a,|,b,1)or(,ab,=,a,|,b,Oracle,串联。如果成功,则返回与永真条件相同的信息,SQL注入确认,简单单引号确认,简单逻辑确定,数据库字符串拼接特性,HTTP错误代码(500、302等),延时特性,waitfor delay 0:0:5,sleep(10),THINKS,






