万能密码SQL注入原理.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“万能密码”SQL注入基本原理 目录 引言: 3 项目研究原因: 4 项目进展情况: 4 结论: 9 引言: 如今,互联网上的攻击、入侵事件频发,攻击手段越来越多样,攻击工具也泛滥成灾,这其中尤其以注入攻击最为常见。因为这种攻击方式技术门槛低,攻击工具多。注入攻击利用网站页面的用户提交数据功能,恶意编造具有攻击破坏性质的特殊数据字符串,提交给网站执行。如果网站源代码设计不健壮,对提交的数据没有做严格的防范过滤,就很容易被利用,黑客可以以此为突破口,攻入网站服务器。而本次项目所研究的“万能密码”就是注入的一种方式,他通过在管理登陆界面输入能欺骗网站的代码伪装成以认证的管理人员从而非法获取管理员权限从而非法修改网站。 项目研究原因: 后台登录的“万能密码”是一个学长发现了某网站的这个漏洞从而告知我们小组的,我们小组对此产生了极大的兴趣:为何看似严谨的登录界面会有能通过一段代码就能登录、而且还能获得最高权限。所以我们决定这次的百团百题项目以此为研究方向。 项目进展情况: 我们上网查找了有关后台“万能密码”相关的资料发现一个严重的问题: 这个技术已经相对落后,很多网站不能从网页源码中分析出注入漏洞 的存在。所以我们就从网上找了一些老的网站源码案例拿来研究: 我们从百度百科的“注入漏洞”的词条中找到了相关存在漏洞的案例: 下面用“蚂蚁影院3.0”版注销用户(wantlogin.asp)中的一段源码来做一下介绍:(下划线选取为引用案例内容) % if request(userid1) then set rst=server.createobject(adodb.recordset) sql=select money,online from users where userid=request(userid1) and password=md5(request(pws)) rst.open sql,conn,1,3 if rst.eof and rst.bof then response.writescriptalert(用户名或密码错误!);history.back();/Script else response.writescriptalert(恢复成功你现在可以登陆!);/Script response.writescript Language=Javascriptlocation.href = index.asp;/script rst.close set rst=nothing conn.close set conn=nothing end if end if % 我们能够很明显的看到这段代码: sql=select money,online from users where userid=request(userid1) and password=md5(request(pws)) 存在关键词:sql、并且在这个语句后面有逻辑运算符的话就代表了这个网站有被sql注入的可能。 很明显,这段源码中我们可以得知该界面有注入的可能,那到底该怎么实现呢? 从这段代码可看出,在网站中,一开始先判断userid1是否为空,如果不为空,则往下进行到: 进入SQL语句,开始验证帐号密码的匹配。我们按照证上的思维思考一下,如果我们没有这里的帐号密码,我们随便输一个,把帐号输成“zlq”,密码输成“123456”。 这时,网页提交的代码变成 select money,online from users where userid1=zlq and password=md5(123456) 如果是这样的话,网站肯定无法找到对应的帐号密码,就会出现大家遇到的,密码错误、找不到用户等情况。但是如果这样的话,把帐号改成:“zlq or 1=1 or 1=1” 此时提交代码变成: select money,online from users where userid1=zlq or 1=1 or 1=1 and password=md5(123456), 因为“和”的运算级别比“或”高,所以先执行 1=1 and password=md5(123456), 得到值为0(假); 然后再执行1=1 or 0,得到的值为1(真); 接下来就进行 select money,online from users where userid1=zlq or 1; 整个语句变成了1(真)。 因为逻辑表达式为真,所以就会弹出“ 恢复成功你现在可以登陆!” 但是这只是注入漏洞的一个基本原理,现在已经不太适用,很多网站不能直

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档