
Sqli-labs实战
Sqli-labs实战
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
sqli-labs————Less-60-65
Less-60payload:http://192.168.11.136/sqli-labs/Less-60?id=-1")union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0...原创 2018-05-22 21:03:43 · 1064 阅读 · 0 评论 -
sqli-labs ————less -15
Less-15源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-11 12:29:55 · 941 阅读 · 0 评论 -
sqli-labs ————less -14
Less-14源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-11 12:18:40 · 649 阅读 · 0 评论 -
sqli-labs ————less -13
Less -13源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&g..原创 2018-05-11 11:40:59 · 1041 阅读 · 1 评论 -
sqli————Less-12
Less-12源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-11 11:25:49 · 692 阅读 · 0 评论 -
sqli-labs ————less -11(POST注入)
前言从这一关开始,我们就进入到了POST注入的世界了。在接下来的几关中我们将陆续介绍关于POST注入的方法以及技巧。POSTpost是一种数据提交方式,它主要是指数据从客户端提交到服务器端,例如,我们常常使用的用户登录模块、网站的留言板模块等,在这些功能模块中我们提交的数据都是以post的方式提交的服务器的,之后再由服务器端进行验证。Less-11关卡界面:我们首先提交一个admin试试看会有什么...原创 2018-05-11 11:09:30 · 4158 阅读 · 0 评论 -
sqli-labs ————less -10
Less-10查看源代码:由此可见,这里是一个基于时间注入的双引号注入。猜测数据库:http://192.168.11.136/sqli-labs/Less-10?id=1" and if (ascii(substr(database(),1,1))=115),1,sleep(5)) --+之后的猜测表名、字段名、字段值与上一关的基本相同,唯一不同之处就是“ ' ”与“ ””。这里就不再多复述了。...原创 2018-05-11 10:11:45 · 502 阅读 · 0 评论 -
sqli-labs ————less -9
Less-9首先我们可以查看一下源代码:一方面:从标题中我们可以看到这是一个基于时间盲注的单引号注入另一方面:从之后的“print_r(mysql_error());”来看我们并不可以使用报错注入最后,我们可以看到可以通过' and 1=1 --+或者' or 1=1 --+来绕过既然如此,那么我就用延迟注入的方式来注入:猜解数据库:payload:http://192.168.11.136/sq...原创 2018-05-11 10:02:50 · 1789 阅读 · 0 评论 -
sqli-labs ————less -8
Less-8为了好分析,我们首先可以查看一下源代码关键代码:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";$result=mysql_query($sql);从这里我们可以看到,可以通过' or 1=1 --+或者 ' and 1=1 来绕过从源文件中我们可以看到,该文件中将“print mysql_error”进行了注释,所以这里我们...原创 2018-05-11 09:30:00 · 1025 阅读 · 0 评论 -
sqli-labs ————less -7
Less-7打开关卡网页之后,根据提示传入参数id,数据类型为numeric,之后可以看到如上的提示信息,在提示信息中给出了让我们使用outfile的提示,那么我们还是先来看看源码吧:关键sql代码:$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";$result=mysql_query($sql);可以看出这里对传入的参数id进行了...原创 2018-05-11 09:15:51 · 4284 阅读 · 6 评论 -
sqli-labs————less6
Less 6源码:主要代码:$id = '"'.$id.'"';$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";$result=mysql_query($sql);从以上代码中可以中看看,这里我们可以将“‘ ”替换为“ " ”,之后的语句正常构造就好:这里简单演示一个猜解数据库版本信息的:猜解数据库的第一个字符:之后的内容与之前在less...原创 2018-05-09 12:07:57 · 623 阅读 · 0 评论 -
sqli-libs——less 5(盲注)
Less-5由于这一关涉及到盲注的内容,所以我们还是想来看看源代码吧:可以看到,如果运行返回结果正确的时候只返回you are in...,不会返回数据库当中的信息了,所以我们不能之前所采用的在less-4之前的方法了。从这里开始就要进行盲注了!利用left(a,b)进行测试测试数据库版本利用left(database(),1)进行尝试http://192.168.11.136/sqli-lab...原创 2018-05-08 23:54:44 · 1961 阅读 · 2 评论 -
sqli-labs—————Less-4
Less4根据要求传入参数id,数据类型numeric添加单引号、and 1=1 、and 1=2进行测试感觉是不是非常奇怪,为什么都是正确显示页面呢?我们不妨再试试双引号注入代码之后,我们得到了下面这个错误You have an error in your SQL syntax; check the manual that corresponds to your MySQL server ve...原创 2018-05-08 19:47:44 · 708 阅读 · 0 评论 -
sqli-labs—————Less-3
Less-3根据提示传入参数id,数据类型为numeric老样子,用单引号测试报错的内容为:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'') LIMIT 0,1' at...原创 2018-05-08 19:20:31 · 1967 阅读 · 2 评论 -
sqli-libs————Less2(数字型注入)
Less2同样,我们根据提示传入参数id,数据类型为numeric加入单引号进行测试:爆出错误提示信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' ...原创 2018-05-08 19:01:33 · 1293 阅读 · 2 评论 -
sqli-labs—————Less-1(字符型注入)
前言从这一篇文章开始,我们将开始真正的讲解Sqli-libs中的各种注入,从第1阶层开始,后续的内容会陆续放出,欢迎各位大佬的关注与评论!Less-1首先,打开主页进入第一关:可以看到提示,提示我们要传入一个参数,名为ID,而且是数据类型,那么我就传入该参数看看到这里,我们可以发现后台执行的SQL语句好像是根据该传入的参数id进行了相应的查询,那么我可以从搭建的环境中来看看它的数据库到底有什么东西...原创 2018-05-08 12:57:34 · 2047 阅读 · 2 评论 -
sqli-labs————导入导出操作
常用的导入导出函数在做渗透测试的工程中我们少不了对一些文件进行导入导出操作,所幸的是我们有相应的函数来帮助我们完成这一系列功能。load_file(file_name)作用:读取文件并返回该文件的内容,作为一个字符串。使用条件:必须有权限读取并且该文件必须完全可读。要进行读取的文件必须在服务器上必须指定文件完整的路径要进行读取的文件必须小于max_allowed_packet(最大允许包)如果该文...转载 2018-05-09 18:13:18 · 661 阅读 · 0 评论 -
Mysql注入load_file常用路径
WINDOWS下:c:/boot.ini //查看系统版本c:/windows/php.ini //php配置信息c:/windows/my.ini //MYSQL配置文件,记录管理员登陆过的MYSQL用户名和密码c:/winnt/php.inic:/winnt/my.inic:\mysql\data\mysql\user.MYD//存储了mysql.user表中的数据库连接密码c:\...转载 2018-05-09 18:00:45 · 1609 阅读 · 0 评论 -
sqli-labs—————Sql注入之盲注讲解
盲注何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。盲注分为三类•基于布尔SQL盲注•基于时间的SQL盲注•基于报错的SQL盲注1、基于布尔SQL盲注————构造逻辑判断我们可以利用逻辑判断进行截取字符串相关函数解析 http://blog.youkuaiyun.com/Fly_hps/article...原创 2018-05-08 22:18:27 · 2274 阅读 · 0 评论 -
SQL盲注之正则表达式攻击
我们都已经知道,在MYSQL 5+中 information_schema库中存储了所有的 库名,表名以及字段名信息。故攻击方式如下:1. 判断第一个表名的第一个字符是否是a-z中的字符,其中blind_sqli是假设已知的库名。注:正则表达式中 ^[a-z] 表示字符串中开始字符是在 a-z范围内index.php?id=1 and 1=(SELECT 1 FROM information_sc...转载 2018-05-08 21:42:10 · 559 阅读 · 0 评论 -
Sql注入截取字符串常用函数
前言在sql注入中,往往会用到截取字符串的问题,例如不回显的情况下进行的注入,也成为盲注,这种情况下往往需要一个一个字符的去猜解,过程中需要用到截取字符串。本文中主要列举三个函数和该函数注入过程中的一些用例。三大函数:mid()、substr()、left()mid()函数mid()函数作用是截取字符串一部分。mid(column_name,start,length)参数 描述 column_n...原创 2018-05-08 21:22:00 · 993 阅读 · 0 评论 -
sqli-labs ————less -16
Less-16源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-11 12:44:34 · 540 阅读 · 0 评论 -
sqli-labs ————less -17
Less-17源代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-12 08:49:10 · 913 阅读 · 0 评论 -
sqli-labs————Less-59
Less-59与less57\58差不多,这里直接给出payload:http://192.168.11.136/sqli-labs/Less-59?id=-1 union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_sch...原创 2018-05-22 21:03:23 · 339 阅读 · 0 评论 -
sqli-labs————Less-58
Less-58源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-22 21:03:07 · 992 阅读 · 0 评论 -
sqli-labs————Less-57
Less-57源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-22 21:02:39 · 303 阅读 · 0 评论 -
sqli-labs————Less-56
Less-56源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-22 21:02:20 · 308 阅读 · 0 评论 -
sqli-labs————Less-55
Less -55源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&g..原创 2018-05-22 21:02:00 · 496 阅读 · 0 评论 -
sqli-labs————Less-54(第四部分:提高部分)
前言在接下来的几关中将会对前面所学习的内容做一个复习,同时也会通过在复杂环境中的应用来提高注入技巧。Less-54源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xm...原创 2018-05-22 21:01:36 · 1095 阅读 · 0 评论 -
sqli-labs————Less-53
Less-53与less52一样,这里直接给出payload:http://192.168.11.136/sqli-labs/Less-53?sort=1';create table hhh like users--+原创 2018-05-22 21:01:09 · 420 阅读 · 0 评论 -
sqli-labs————Less-52
Less-22执行的sql语句:$sql="SELECT * FROM users ORDER BY $id";根据该sql语句直接构建以下payload:http://192.168.11.136/sqli-labs/Less-52?sort=1;create table less52 like users--+原创 2018-05-22 21:00:36 · 364 阅读 · 0 评论 -
sqli-labs ————less -18
Less-18源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-12 08:50:44 · 3877 阅读 · 0 评论 -
sqli-labs————less 25(绕or\and)
Less-25从关卡提示,我们可以知晓该关卡主要过滤了“or”和“and”,那么我们看看它的源代码到底是如何过滤的:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns...原创 2018-05-12 08:50:33 · 1060 阅读 · 0 评论 -
sqli-labs————less 24(二次排序注入)
二次排序注入本关为二次排序注入的示范例。二次排序注入也成为存储型的注入,就是将可能导致sql注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以出发sql注入。二次排序注入思路:1. 黑客通过构造数据的形式,在浏览器或者其他软件中提交HTTP数据报文请求到服务端进行处理,提交的数据报文请求中可能包含了黑客构造的SQL语句或者命令。2. 服务端应用程序会将黑客提交的数据信息进行存储,通...转载 2018-05-12 08:50:25 · 2454 阅读 · 0 评论 -
sqli-labs————less 23(高级注入篇)
前言从这一关开始,我们进进入了短暂的高级注入部分,这一部分中将会陆续介绍一些更为巧妙的注入技巧。Less -23查看一下源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html...原创 2018-05-12 08:50:16 · 2344 阅读 · 0 评论 -
sqli-labs————less 22
Less 22简单测试:username:adminpassword:aaa查看一下源代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://w...原创 2018-05-12 08:50:01 · 446 阅读 · 0 评论 -
sqli-labs————less 21
Less-21做一个简单测试:username:adminpassword:aaa这里的界面和上一关的内容差不多,唯一的区别就是cookie使用了base64进行了加密,这里我们贴出该关的代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm...原创 2018-05-12 08:49:53 · 1618 阅读 · 1 评论 -
sqli-labs————less 20
Less-20这里做一个简单的测试:username:adminpassword:aaa从上面的显示结果中,我们看到了user-agent、COOKIE的内容,我们这里查看一下源代码看看,到底是怎么回事:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD...原创 2018-05-12 08:49:43 · 1779 阅读 · 0 评论 -
sqli-labs ————less -19
Less-19提交一个测试数据试试:username:adminpassword:aaa由此可以看到出现了Referer,我们不妨来看看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">...原创 2018-05-12 08:49:36 · 1103 阅读 · 0 评论 -
sqli-labs ————HTTP头部介绍
HTTP头部详解1、 Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2、Accept-Charset: 浏览器申明自己接收的字符集3、Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)4、Accept-Langua...转载 2018-05-12 08:49:25 · 348 阅读 · 0 评论