WEB漏洞-SQL注入之MYSQL注入

跨库注入的原理:针对同一IP下的不同域名

同一服务器下

网站A对应数据库A

网站B对应数据库B

网站C对应数据库C

如果某网站的存在注入点,注入点的权限恰好是root权限,也就是最高权限,那么可以通过跨库注入获取其他网站的数据库信息

跨库注入的步骤

1.查询服务器下所有数据库名称

        使用information_schema数据库,这个库中有schemata表记录了当前服务器的所有数据库名称,有tables记录当前数据库的所有表,有columns记录当前表的所有列。我们先找到所有数据库的名称:select * from schemata

比如:select * from users where id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata

2.找到该网站对应的数据库名称后,获取指定表名

        比如:select * from users where id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='指定数据库名'

3.找到指定表名后,获取列名信息

        比如:select * from users where id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='指定表名' and table_schema='指定数据库名'

这里有两个限制条件是因为不同数据库可能会有相同的表名,所以要对数据库做限制

4.根据表名和字段名,查询指定数据

        比如:select * from users where id=-1 union select 1,name,password from '指定数据库名'.'指定表名'

要注意表名前面要带有数据库名,因为不同数据库可能会有相同的表名

文件读写操作的小知识

load_file()  读取文件内容

into outfile  写入文件

比如select load_file('你的文件路径'),就可以获取到文件的内容

select 'x' into outfile('文件路径'),就可以创建一个文件,同时写入x

读写操作的意义

1.读取网站或系统的敏感信息,系统固定路径或者网站随机目录

2.编写后门文件shell

文件读写前提条件

1.用户权限足够高,尽量具有root权限。

2.secure_file_priv 选项不对文件读写权限限制

(打开mysql文件夹下的my.ini,在[mysqld]的下一行单独加一行secure_file_priv='')

3.知道绝对物理路径

4.能够使用联合查询(sql注入时)

路径获取常见方法

        报错显示:网站报错的时候,会泄露地址信息

        遗留文件:比如phpinfo(),开发者为调试的时候遗留的文件等,phpinfo里面的script_filename就会有文件路径

        CMS:比如wordpress,zblog的绝对路径

        漏洞报错,平台配置文件,爆破等

自己实战需注意

1.给文件读写权限

2.my.ini添加secure_file_priv =

3.双斜杠防止转义(可以把路径进行16进制HEX编码,就不需要考虑斜杠)

4.--+或者%23注释limit

相关防注入

魔术引号(自带防御):php内置安全机制,在php.ini中可以找到magic_quotes_gpc这个选项,on就是启动,false就是关闭。作用是在输入数据中含单引号('),双引号("),反斜线(\)与NULL字符的前面加上反斜线,防止sql注入

代码判断(内置函数):is_array,is_int,判断输入的数据,如果不是就直接拦截。点对点拦截,比较少,但是一旦有,将很难注入成功

自定义关键字(select):$id = str_replace('select','fuck',$id),将id中的select换成fuck

WAF防护软件:安全狗,宝塔。大部分原理都是过滤关键字

如果面对低版本mysql,5.0以下的,可以用sqlmap字典爆破 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怀后同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值