Web漏洞-mysql注入

MYSQL注入

Sqli-labs第二关案例导入

不通的用户权限不同,能够进行的操作也都不一样

在MYSQL5.0以上版本中,mysql存在一个自带数据库名为

information_schema,它是一个存储记录有所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取指定数据库下面的表名或列名信息。

数据库中符号"."代表下一级,如xiao.user表示xiao数据库下的user表名

information_schema .tables:记录所有表名信息的表

information_schema . columns:记录所有列名信息的表

table_name :表名

column_name:列名

table_achema︰数据库名

跨库查询及应用思路

information_schema表特性,记录库名,表名,列名对应表

获取所有数据库名:

Payload:

id=-1 union select 1,group_concat ( schema_name) ,3 from

information_schema . schemata

获取指定qqyw数据库名下的表名信息:

union select 1,group_concat (table_name) ,3 from

information_schema.tables where table_schema='qqyw’

获取指定qqyw下的表名admin下的列名信息:

union select 1, group_concat (column_name) ,3 from

information_schema.columns where table_name=’admin’ and table_schema=' qqyw ‘

获取指定qqyw下的admin数据:

union select 1,u,p,4 from gayw . admin

####文件读写操作

路径获取常见方法:mysql有的两个函数

load_file():读取函数

into outfile或into dumpfile:导出函数

导出失败的解决方法:

将csv 文件存入mysql 报错The MySQL server is running with the --secure-file-priv option so it cannot execute_(1290, ‘the mysql server is running with the --rea-CSDN博客

load_file :

into outfile :

读取文件:服务器上的常见文件以及网站目录

路径的常见获取方法:

报错显示、遗留文件、漏洞报错、平台配置文件、爆破

magic_quotes_gpc:魔术引号开关

在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,对POST、__GET以及进行数据库操作的sql进行转义处理,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。防止sql注入 当magic_quotes_gpc = On时,输入数据中含单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符,都会被加上反斜线。

或者在php配置文件里查看(php.ini)

如果开启,就会影响到文件的读取与写入

另一函数:addslashes()效果一致(内置函数)

addslashes()并未将反斜杠一起写入数据库,只帮助完成了sql语句的执行。

解决方法:

1.采用HEX编码(编码里就没有符号影响--绕过访问机制)

2.stripslashes函数删除由 addslashes() 函数添加的反斜杠。

防御方案:用不同方式过滤

WAF防护软件:安全狗、宝塔

原理:接收变量值,再查看关键字是否符号规则

小于5.0的低版本暴力查询:字典爆破

或用load_file 读取文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值