sqli-lab(1~4详解)

Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)
摘要由CSDN通过智能技术生成

Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)

 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

知识点:1,判断是数字型还是字符型,单引号还是双引号
2,union select联合查询注入
3,payload原理与防御措施

0X0a

判断注入点及类型
这道题因为是sqli-lab的靶场,所以知道是get型的单引号注入,直接在url栏就可以尝试
通常情况下,加个单引号,使id这个参数不能闭合,通过分析返回的报错信息,来进一步判断

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007212113129.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dvbmdqaW5nZWdl,size_16,color_FFFFFF,t_70#pic_center)

**单引号判断‘ 显示数据库错误信息或者页面回显不同(整形,字符串类型判断)** 
可以看到,单引号没有闭合,返回了报错信息,显示的就是单引号
兄弟萌也可以直接打开源码,通过一步步的比较,进一步学习

在这里插入图片描述
sql语句如上图,id这个参数周围是单引号
and 1=1 / and 1=2 回显页面不同(整形判断)
在这里插入图片描述
在这里插入图片描述
在数据库中 1=1 和1=2 后面随便输入字符串(相当于1=1和1=2后面的查询语句),发现select 1="1dasd"时返回1正确,1="2dasd"时返回0错误,即select在查询时忽略后面的字符串,只让1和后面第一个数字对比,如果相等就是正确,不相等返回错误。

0x0b

	**union select联合查询注入**
			1,***判断列数***
	order by 函数是对MySQL中查询结果按照指定字段名进行排序,除了指定字 段名还可以指定字段的栏位进行排序,第一个查询字段为1,第二个为2,依次 类推。我们可以通过二分法来猜解列数

	输入order by 4 --+,页面回显错误,说明不存在第四列

在这里插入图片描述

如此实验2和3,发现3成功,故列数为3

2,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值