现在,我们回到之前,练习脚本支持的布尔盲注(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. C 语言学习 第六次作业总结
  2. [BZOJ3144][HNOI2013]切糕(最小割)
  3. DOM,BOM
  4. Struts2原理
  5. dragloader.js帮助你在页面原生滚动下实现Pull Request操作
  6. NABCD分析
  7. Redis cluster学习 & Redis常识 & sort操作
  8. Node.js学习心得
  9. VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
  10. (大数据工程师学习路径)第二步 Vim编辑器----查找替换
  11. 【原创】用python连接thrift Server 去执行sql的问题总汇
  12. 新的WireGuard快照发布
  13. Redis高可用之集群配置(六)
  14. vim学习笔记(11):vim 去掉<200b>
  15. G1收集器
  16. CALayer(持续更新)
  17. js中请求数据的$post和$ajax区别(同步和异步问题)
  18. elasticsearch聚合--桶(Buckets)和指标(Metrics)的概念
  19. Android StateListDrawable的坑
  20. 关于public、private、protected、internal

热门文章

  1. 剑指 Offer 33. 二叉搜索树的后序遍历序列
  2. Python之requests模块-hook
  3. ASH数据的迁移:导出导入
  4. SSH整合(二)
  5. 【linux】 linux超实用命令整理
  6. 专项测试-App性能分析
  7. JS019. 原生JS使用new Blob()实现带格式导出Word、Excel(提供无编程基础将页面上表格导出到本地的方法)
  8. 【MySQL】MySQL基础(SQL语句、约束、数据类型)
  9. 机器学习——Adaboost
  10. TP6出现错误 No input file specified.