这个是在看sql注入的时候看到的
当所有注释符和单引号都被过滤的时候,我们没有办法进行闭合语句的时候
这时候如果PHP版本较低,那么可能会有%00
截断,然后
我们就可以用;%00
这样的方式进行上传url的get或者post参数。进而实现mysql语句的闭合,达成了类似于注释
的效果。
然后通常要写python脚本,这个用来regexp正则注入,python脚本提交%00
的时候,会有些问题,这里是post传入%00
的时候,用下面这两个方法都是可以的
parse.unquote('%00')
或者chr(0)
。是同一个东西。
然后这里%00实质就是那个不可见字符,你直接post传进去,传入个不可见字符得了,你先给他unquote了,先url解码了,就行了,不弄
这个也是 ascii中的0
这个讲unquote和urlencode,讲的可好了
。urlencode可以对字典类型的
unquote是对单个字符的。
unquote
对单个字符应该都是这个东西,弄得,不然就是那个urlencode来的
paramArr = {
'type': 0, 'sex': 1}
print(parse.urlencode(paramArr))
paramArrSign = 'oznza2zpxwSsJAt++vppkOcm/GEVRQ8/ZrHlNyvuHK8='
quote_text = parse.quote(paramArrSign)
print(quote_text)
print(parse.unquote(quote_text))
也是