[ciscn2019]web复现(部分)

  • 访问
    image

  • 随便测试
    猜测后端逻辑

    select * from table where id = $input;
    

    当结果为1时,返回
    image

    当结果为0
    image

    语法错误
    image

  • 尝试bool盲注

    • 构造payload
      (select 1)/1
    • 有waf,直接fuzz
      image

    为什么会存在另外一种语法正确,可以返回值,但不是返回1
    image
    发现是 ~ ! 和@符号,今后这个trick说不定用的上

    最终发现空格可以由 %09 %0a %0b %0c %0d或者()进行bypass

  • 绕的时候,有个忘了替换,一直错,后来一看,发现是空格忘了转换。。

image

确实可以盲注了,直接写脚本

写脚本的时候,发现一直失败。开始不知道为什么,我就使用代理,转到bp查看
image
原来是requests库访问时,采用的content-type是url-encode,导致原本的payload中已经进行了url编码字符又编码了一次,而服务器端只解码一次,总而导致目标字符回车,到sql中还是%0a,致使了这次错误。
还有对proxies的使用

python大法好,要想修炼好,必须经常敲

image

最终也是得到了期望。

posted @ 2022-01-18 20:55  Aur0ra*  阅读(36)  评论(0编辑  收藏  举报