SQL注入其他手法

本文介绍了SQL注入的原理及常见类型,包括宽字节注入、Cookie注入、Base64注入和User-Agent注入。通过实例展示了如何利用SQL注入读取数据库信息,以及防范措施,如修改配置文件限制导入导出操作。同时,提到了利用sqlmap工具进行数据库渗透测试的方法。
摘要由CSDN通过智能技术生成

0宽字节

宽字节
GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节,实际上只有两字节。宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象,即将两个ascii字符误认为是一个宽字节字符。

 可以靠到2后跟了一个右斜线,将单引号转义了,查找GBK编码

错误回显,字符型,单引号闭合

 对会先的数字进行修改,version()确认版本,database()数据库

与5c进行拼接,使其成为文字,达到吃掉转义的字符,使'发货作用。

 Cookie注入

采用BP对其进行Cookie的重放,再对Cookie的值后加单引号,引发报错,进行报错注入,#则对后面的语句进行注释。

 base64注入

 对注入的代码进行base64编码,拼接到Cookie后

 User-Agent注入

注入的参数在User-Agent 中

 Referer注入

注入参数在Referer 字段中

 通过SQL注入漏洞读写文件获取webshell

再进行操作时,需要知道当前是什么用户,

还需要知道文件的绝对路径 

还有secure_file_priv 参数限制了mysqld(MySQL DBMS) 的导入导出操作,这个选项是不能利用SQL 语句修改,修改my.ini 配置文件,并重启mysql 数据库。

使用phpmyadmin进行变量查找

可以看到是null,并且这个值是无法修改的

 通过修改my.ini文件来实现

 

保存之后重启

查看

 

使用菜刀链接

 

 

通过sqlmap工具获得后台管理员账密 

使用sqlmap扫描

 获取库ID

--dbs

列出所有的库名

 获得当前数据库名

--current-db

当前数据库的名字

 

指定数据库获得内部表

-D "cms"

指定目标数据库为cms

--tables

列出数据库中所有的表名

-T "cms_users"

指定目标表名为'cms_users'

--columns

列出所有的字段名

-C 'username,password'

指定目标字段

--dump

列出字段内容

 已经自动解密

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值