CTF-i春秋-Web-二次注入-phone number-2017第二届广东省强网杯线上赛

2020.09.22

  1. sql注入时,空格被过滤可以考虑用块注释符号/**/
  2. 引号被绕过,如果是查询条件的话可以换成十六进制,就不用引号了,例如,select column_name from information_schema.tables where table_name=0x7573657273
  3. group_concat()方法连接的总长度是有限制的,并不是有多少连多少;
  4. 二次注入,在注册的时候可以考虑,如果登陆进入之后,有把注册信息用于查询的情况,可以考虑二次注入;

经验教训

phone number

https://www.ichunqiu.com/battalion

  1. 链接,进去,注册账号,登陆,

  2. 点击check,发现一个线索,说admin的手机号有秘密,到这里我就想他是怎么check的,抓包并没发现什么东西

  3. 他说admin的手机号,那么也就是说有个用户是admin,能不能登陆进去呢,试了试没成功

  4. 还是sql注入吧,

    • username=admin,提示密码错误

    • username=adminhhh,提示something error,应该是不存在的用户名就报这个

    • username=admin',密码错误,说明引号没被算进用户名,可能存在sql注入

    • admin' OR 1=1,密码错误,

    • admin' OR 1=2,something error,说明存在注入,可以用布尔盲注操作,这里没有加#,也可以注入,好奇怪,并且我一想既然username有注入,password是不是也可以,但是事实证明,我想多了🙄密码能注入就能直接登陆了,那么接下来愉快的布尔盲注吧

    • 本来我以为可以愉快的注入,但是事与愿违,

    • admin' OR (1=1),something error,可能是把括号给过滤了吧

    • 找了半天也没找到怎么解决这种过滤括号的情况,大佬知道可以告诉我一下吗?

    • 然后就去看wp,md,是另一种神奇的思路,二次注入,注册的时候,用sql语句编译成十六进制进行注册,在查询有多少手机号的时候就能把sql语句运行出来了,我说呢,我一开始想着查手机号的地方应该是注入点,但是查看拦截的包的时候没有看见post数据,然后才转过来看的登陆界面,这🐶p登陆界面,给了我希望,又给了我一棒槌,还好学到了新招数,不亏不亏……

    • 经过我的再三测试,因为我很不服,我发现自己被骗了,md,自己太蠢了,真的🤦‍♂️之前测试的admin' or 1=1哪里是什么注入漏洞,应该是书数据库本来就有这个用户名,当然,截止到现在这还是我猜的,不过我马上要去二次注入看看她到底是不是这么回事,如果真是的话,我被骗的也太惨了🙂

    • 不过我就是纳闷她这个check请求的时候,什么也没发送,怎么知道我是谁的,怎么知道我的手机号的……登陆成功了也是,太奇怪了。

    • 我好像明白了,应该是登陆成功的话建立长链接,只要在连接中,就跟登陆的数据绑定,所以可以进行查询操作,应该是的。

  5. 二次注入

    • 心情好了再做,我现在迫不及待想找一个布尔注入,试试昨天自己写的脚本是不是可以通用……
posted @ 2020-09-22 14:33  乔悟空  阅读(646)  评论(0编辑  收藏  举报