SQL Injection - Blind (WS/SOAP)

本期演示的是盲注的手法。有些网站在与数据库交互的地方进行了很好的修饰,将报错的语句进行修改,即使你找到了注入点也无法下手拿数据,这个时候我们的步骤就比较麻烦了,我们只能通过对错的方式进行盲注(如下演示)

首先我们看一眼这是一个正常的显示页面。

加了一个点后也有不一样的地方。。。。。。。。 电影票的数字没了。。。

Sql的系统语句错误也被很好的掩盖掉了。我们再加一个注释看看

又输入了一个注释符后页面又恢复了正常。说明这个地方仍旧有漏洞(这就是下面要演示的另一个手法——盲注。)

我们加了一个or 的语句让它与后面的select user()不冲突,并将语句故意输错误的和正确的。看看页面有什么异常,据上方的显示结果来看返回的页面是又改变这的说明语句在后台确实是执行了的。

这个时候我们就要将我们的语句进行一个转变了大致思路如下:

  1. 先将我们的注入语句完整的写上。
  2. 将我们要查的语句的返回结果转成字符串。
  3. 截取字符串的所有字符
  4. 将每个字符转成ascii码然后通过比大小确认字符

其中要用到如下方法:

Substr((sql),x,y)     //(sql)内添加查询语句就可以将返回的结果转成字符将这一串的字符以第x个开始向下截取y个。

Ascii() //该方法是将字符所对应的ascii码转换一下并显示出来。

具体如下示例:

上面的语句简单的说一下吧: select user()的结果用substr()将字符串的第一个字符开始向下截取一个,然后用ascii()方法转成ascii码再一一的比对

比如:

(ascii(substr((select user()),2,1))>90)

//这个ascii的值否大于90 如果正确则应该显示53的那个数反之就是错误的,然后在 尝试(ascii(substr((select user()),2,1))=>100) 正确则显示53的那个数反之就是错误 以此 类推逐渐缩小范围。最终确定那个数。

Ascii的值我们可以看一下 在数据库中数据库是识别ascii的也可以一一的查出来。

或者百度一下我们可以拿张表看一下

我们将这些最终判定的结果依次记下来(如上图)这样我们就可以通过ascii码拿到数据了。

这样用户就出来了 一般找到注入点后最先想到的方法就是找显示位然后用联合查询。像这样一个一个的试这样的拿数据方式就是盲注了。这样的做的方法比较麻烦效率也比较低,后面有效率较高的方法,这个回头再讲,以上就是本次演示的内容。

webgote的例子(6)SQL注入(盲注)的更多相关文章

  1. SQL注入--盲注及报错注入

    盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...

  2. 关于sql注入盲注,谈谈自己的心得

    1.没做防御的站点,拿上sqlmap直接怼就行了. 2.做了防御,有的用函数过滤了,有的用了waf(比如安全狗,云锁,华为云waf,360waf,知道创宇盾,护卫神等等) 这些就相当麻烦了,首先要探测 ...

  3. SQL注入----盲注总结

    参考文章:https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247490388&idx=1&sn=c677837d7 ...

  4. 防sql注入 盲注等措施 ESAPI的使用

    SQL注入往往是在程序员编写包含用户输入的动态数据库查询时产生的,但其实防范SQL注入的方法非常简单.程序员只要a)不再写动态查询,或b)防止用户输入包含能够破坏查询逻辑的恶意SQL语句,就能够防范S ...

  5. SQL注入 盲注

    来源:http://www.cnblogs.com/cheatlove/articles/384233.html SQL注入攻击: (1) 脚本注入式的攻击(2) 恶意用户输入用来影响被执行的SQL脚 ...

  6. 动态调试|Maccms SQL 注入分析(附注入盲注脚本)

    0x01 前言 已经有一周没发表文章了,一个朋友叫我研究maccms的代码审计,碰到这个注入的漏洞挺有趣的,就在此写一篇分析文. 0x02 环境 Web: phpstudySystem: Window ...

  7. SQL注入--显注和盲注中过滤逗号绕过

    SQL注入逗号绕过 1.联合查询显注绕过逗号 在联合查询时使用 UNION SELECT 1,2,3,4,5,6,7..n 这样的格式爆显示位,语句中包含了多个逗号,如果有WAF拦截了逗号时,我们的联 ...

  8. sql bool盲注

    [CISCN2019 总决赛 Day2 Web1]Easyweb 考察: robots.txt image.php?bak文件泄露,image.php.bak可以下载别的不大行 盲注 php日志挂马 ...

  9. SQL注入 手注与联合注入

    SQL注入,吧sql命令插入到WEB表单,或输入域名或页面亲求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令:            得到数据库用户名和密码 1:在以,{ .asp?id=32( ...

  10. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

随机推荐

  1. 第210天:node、nvm、npm和gulp的安装和使用详解

    一.node 1.什么是node? 它不是JS文件,也不是JS框架,而是Server side JavaScript runtime,当服务端的一个JS文件运行时,会被NODE拦截,在NODE中运行J ...

  2. BZOJ 1923 外星千足虫(bitset优化线性基)

    题意:给出m次n个千足虫的足数信息,确定在第几次测试后可以确定每个千足虫的来历. 我们可以观察到每个测试结果具有异或后依然成立的性质,于是实际上我们只需要从头到尾确定有n个线性相关的向量是在哪一个测试 ...

  3. BZOJ 1237 配对(DP)

    给出两个长度为n的序列.这两个序列的数字可以连边当且仅当它们不同,权值为它们的绝对值,求出这个二分图的最小权值完全匹配.没有输出-1. n<=1e5.用KM会TLE+MLE. 如果连边没有限制的 ...

  4. Linux系统启动详解(一)

    本篇主要以Centos为例,讲述整个Linux系统启动过程,包括了grub引导,initramfs流程,/sbin/init执行rc.sysinit及rc的大体流程. 另外,本篇有一个实例来说明,将整 ...

  5. 【bzoj4940】这是我自己的发明

    Portal --> bzoj4940 Solution (原题这题面到底是..怎么回事啊深深的套路qwq) 感觉自己对根号的算法还是很..没有感觉啊== 实际上这题和bzoj5016没有任何区 ...

  6. python基础----面向对象的程序设计(五个阶段、对小白的忠告、关于OOP常用术语)、类、对象

    一.面向对象的软件开发有如下几个阶段                                              1.面向对象分析(object oriented analysis ,O ...

  7. 网络协议之mDNS20170217

    DNS(Domain Name System,域名系统)因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得 ...

  8. 洛谷P2398 GCD SUM (数学)

    洛谷P2398 GCD SUM 题目描述 for i=1 to n for j=1 to n sum+=gcd(i,j) 给出n求sum. gcd(x,y)表示x,y的最大公约数. 输入输出格式 输入 ...

  9. python使用snappy压缩

    今天在网上找了很久,终于找到1个snappy压缩命令行,记录下来: 1.wget https://bootstrap.pypa.io/get-pip.py 2.python ./get-pip.py ...

  10. jQuery中deferred的对象使用

    什么是deferred对象 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是 ...