脚本注入1(boolean&&get)
现在,我们回到之前,练习脚本支持的布尔盲注(get型)。
布尔盲注的应用场景是查询成功和失败时回显不同,且存在注入点的地方。
这里以Less-8为例:
发现查询成功时,会显示
;失败则无回显。
同时发现,payload: ?id=0' or 1=1 --+ 可以查询成功;即此处存在注入点,or可以得到执行。
于是书写脚本:

第二句os....屏蔽了任何error和warning报错;调试时请勿使用,确定脚本可以跑之后再使用。
request是python在web方面特别有用的一个库,后面会我要系统的学习它,再记笔记。
requests.get向指定url发送请求,理论上,这里要通过各种参数使这个包长得几乎和burp里抓到的一样,但这里简化了。
r.text就是返回的包,是brup里“response”里的内容
讲解一下payload:
substr(string string,num start,num length) 将所致字符串从start位开始截取length长度。mysql的字符串起始位为1。
ascii进行ascii码转化。
% (i,mid) 替换 句中的%d %d,也很常见,记住写法就行了
payload的作用是从select出的字符串里一位一位截取字符,然后通过布尔盲注,二分法确定出这个字符是啥;
i控制截取字符在字符串中的位置,mid控制ascii码大小。
这种注入,如果手动操作的话,太麻烦了,所以必须掌握写这种简单脚本。
但是,适当的手动注入,找到注入点,构造出可行的注入payload是非常必要的,在很多时候也是难点;找到payload,再写脚本就挺简单了。
payload放脚本里之前一定手动验证正确性,比如说,这里的payload,把第两个%d都改成1,如果没回显,肯定证明他是错的,因为select出的东西第一个字符的ascii码不可能小于等于1。
最后是快乐的欣赏内容逐渐被爆出来的时间~

脚本注入1(boolean&&get)的更多相关文章
- JSONP跨域的原理解析( 一种脚本注入行为)
JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制, 被称为“some-Origin Policy”(同源策略).这一策略对于Jav ...
- XSS注入,js脚本注入后台
曾经一度流行sql注入,由于现在技术的更新,已经看不到这问题了,但是又出来新的安全问题,XSS攻击,他的原理就是在前端提交表单的时候,在input标签当中输入js脚本,通过js脚本注入后台,请看下图. ...
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
在<浏览器环境下JavaScript脚本加载与执行探析之defer与async特性>中,我们研究了延迟脚本(defer)和异步脚本(async)的执行时机.浏览器支持情况.浏览器bug以及 ...
- xss脚本注入后端的防护
1.脚本注入最主要的是不要相信用户输入的任何数据,对数据进行转义 可以使用:org.springframework.web.util.HtmlUtils包中的 HtmlUtils.htmlEscape ...
- iOS使用shell脚本注入混淆内容
背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,其中有一种解决方案是在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝,本文是针对这个场 ...
- Fortify漏洞之Dynamic Code Evaluation: Code Injection(动态脚本注入)和 Password Management: Hardcoded Password(密码硬编码)
继续对Fortify的漏洞进行总结,本篇主要针对 Dynamic Code Evaluation: Code Injection(动态脚本注入) 和 Password Management: Har ...
- SQL注入之Boolean型盲注
什么是Boolean型注入 Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通 ...
- sql注入之报错注入and boolean注入
1.sql注入之报错注入 正常传参,返回页面正常: 加入' 返回页面报错,出现"zhangsan"' 报错注入使用的函数 在这里我们使用 select updatexml(1,c ...
- 高端黑链SEO—恶意JS脚本注入访问伪随机域名
摘要:我们的服务器又出入侵事故了.有客户的 html 网页底部被插入了一段 js 脚本,导致访客打开网页时被杀毒软件警告网站上有恶意代码.在黑链 SEO 中这是常见的手法,但奇特的地方就在于我们这次捕 ...
随机推荐
- .ssh/config 常用配置
不用每次都 -i 指定密钥,且避免连接自动断开 ControlMaster auto ControlPath ~/.ssh/connection-%r@%h:%p ControlPersist 4h ...
- Kubernetes-kubectl介绍
前言 本篇是Kubernetes第三篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战.本篇重要介绍kubectl的使用. Kubernetes系列文章: Kubernetes介绍 Kuber ...
- 并发编程之:CountDownLatch
大家好,我是小黑,一个在互联网苟且偷生的农民工. 先问大家一个问题,在主线程中创建多个线程,在这多个线程被启动之后,主线程需要等子线程执行完之后才能接着执行自己的代码,应该怎么实现呢? Thread. ...
- PyQT5:信号和槽
PyQT5:信号和槽 信号和槽 Qt的主要特征之一是它使用信号和插槽在对象之间进行通信. 当潜在的事件发生时,会发出一个信号.插槽是可调用的Python,如果将信号连接到插槽,则在发出信号时将调用该插 ...
- 【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
问题描述 在成功的部署Python flask应用到App Service (Windows)后,如果需要把当前项目(如:hiflask)作为一个子项目(子站点),把web.config文件从wwwr ...
- C++11多线程编程
1. 多线程编程 在进行桌面应用程序开发的时候, 假设应用程序在某些情况下需要处理比较复杂的逻辑, 如果只有一个线程去处理,就会导致窗口卡顿,无法处理用户的相关操作.这种情况下就需要使用多线程,其中一 ...
- Activiti 学习(一)—— Activiti 基础
工作流概述 在一个公司中,每一项业务的开始和结束,都可以理解为一个工作流,例如,公司的费用报销的基本流程如下: 如图所示的工作流:员工先提出费用报销申请,提交该申请给部门领导,部门领导审批后,再提交给 ...
- jvm学习笔记:程序计数器
程序计数器(PC Register) The Java Virtual Machine can support many threads of execution at once (JLS §17). ...
- openswan协商流程之(三):main_inR1_outI2
主模式第三包:main_inR1_outI2 1. 序言 main_inR1_outI2()函数是ISAKMP协商过程中第三包的核心处理函数的入口.这里我们主要说明main_inR1_outI2的函数 ...
- struts2执行流程和架构图
一.struts2执行流程 二.架构图 只需要编写黄色部分的代码: