在Mysql5.0及以上版本中,存在一个数据库名
information_schema,里面包含了数据库的库名信息,表名信息,列名信息
information_schema.schemta
information_schema.tables.
information_schema.columns.
table_name 表名
table_schema数据名
column_name列名
Union 得到回显:利用order by 临界值猜解列名
Union注入得到回显注入点后的步骤为:
1.select table_name from information_schema.tables where table_schema = 'aaa'
2.select column-name from information_schema.columns where table_name = 'bbb'
3.select user,password from bbb
高权限文件注入流程
首先需要保证数据库的使用者user()具有root权限,因为root权限可以使用
load_file()
into_file()
这两个函数来读取或者插入文件。
插入目标网站时,需要注意的时网站的绝对路径是未知的,得到路径的方法有:
1.报错显示
2.谷歌黑客
3.读取配置文件
4.漏洞报错 eg.CMS
5.遗留文件 php.info
6.字典猜解.。
涉及到路径引号的问题,可以使用base64编码解决问题。
防注入的两种方式:1.Mysql魔术引号 magic_quotes.gpc 开关在php.ini中
2.数据库连接函数 addslash()
绕过方式:利用编码和宽字节注入。
Mysql 高权限垮裤注入
条件:必须拥有数据库的root权限
应用场景:网站A网站B在同一个数据库,A无注入点,B有,可以通过B的注入点拿到A的权限。
方法
1.找到所有数据库名 select shema_name from information_schema.schamatas
2.表名
3.列名
4.查询所要的信息(注意指定将要查询的表、要在之前加上库名)
参数类型注入:
1.数字型,直接注入
2.字符型,注意闭合单引号
3.搜素型,注意/%闭合
加解密注入:
base64加解密注入