Mysql注入-宽字节注入,二次编码注入

2019-11-07  本文已影响0人  nohands_noob

宽字节注入
 造成宽字节注入的原因,主要是因为使用了宽字节编码,导致一些字符被绕过
 当我们注入 1' 时,若被转义成 1\' ,注入就失效了( \' 的url编码为%5c%27
 当服务器的数据使用GBK编码时我们注入%df%5c%27,其中 %df%5c 被GBK编码成 %27编译成 ' ,而在服务端初次处理时处理为 %df\' ,此时程序认为 ' 号已被转义,但传入数据库时 %df\ 组合成了 ,因此就成功绕过了转义

宽字节注入的靶场以及writeup
https://www.jianshu.com/p/ede6aac5ba8c

二次编码注入
 造成二次编码注入的原理主要是因为服务器处理字符串的顺序不对
 当输入 id=1%27 --url编码--> id=1' --转义--> id=1\' (失败)
 如果程序在转义之后再次urldecode编码,就会造成二次编码注入
 当输入 id=1%2527 --url编码--> id=1%27 --转义--> id=1%27 --urldecode()--> id=1' (成功注入)

上一篇下一篇

猜你喜欢

热点阅读