sql注入靶场接第一篇

接上一篇《SQL注入入门之sqli-labs-master练习》

3.第三关
第三关简单尝试了一下,发现是一个报错信息中出现了一个未闭合括号。那么问题就好办了,我们改一下输入的数据:http://127.0.0.1/sqli-labs-master/Less-3/?id=1’) --+;这样试一下:

在这里插入图片描述
可以发现数据返回正常了,那么我们就可以猜测到问题所在了,后台的数据查询应该是这样的: s q l = " S E L E C T ∗ F R O M u s e r s W H E R E i d = ( ′ sql="SELECT * FROM users WHERE id=(' sql="SELECTFROMusersWHEREid=(id’) LIMIT 0,1"
接下来就好办了我们只需要更着前面第一第二关的语法构造就好了:http://127.0.0.1/sqli-labs-master/Less-3/?id= ') union select 1,2,3 --+
在这里插入图片描述
那,发现没什么区别了,我就不一一查询了,直接看看第四关吧。
4.第四关
初步加单引号发现居然没有报错:
在这里插入图片描述
有点意思,那我们就要想想后台的代码了,怎么的查询代码会出现这样的结果呢?我们继续尝试别的,比如双引号:
在这里插入图片描述
很好,报错信息出来了,可以看到它是双引号加括号,这时候我们初学的话去看看后台代码:
在这里插入图片描述
这里发现它有两句关键语句:$id = ‘"’ . $id . ‘"’;
s q l = " S E L E C T ∗ F R O M u s e r s W H E R E i d = ( sql="SELECT * FROM users WHERE id=( sql="SELECTFROMusersWHEREid=(id) LIMIT 0,1";
大概第一句是什么意思呢?我们知道“.”在程序语言里一般是表示连接的,所以这里的意思就是: i d = ” id=” id=id”,第二局查询时再加上了括号。分析结束,开始构造:
在这里插入图片描述
Nice,构造成功,返回正确的信息了,接下来跟前面一样直接内联注入就好了。

简单总结

因为这个sql注入题较多,而注入安全又是web安全top 10 排名第一,很多的东西写起来就很复杂,这里我就不一一写下来了,因为我之前已经练习过大部分了,再往后的一些注入:盲注、堆叠、宽字节等等又有很多种方法。
简单概括一下就是:

  1. (按照注入点分类)报错试探主要就是字符触发报错、数值触发报错两大类,一般情况的试探就是在参数值后面加’或者 and 1=1,and 1=2 来进行判断,当然也有双引号和闭合括号。另外有一个搜索型注入:主要是指在数据搜索时没有过滤搜索参数,一般在链接地址中有 “keyword=“关键字””,注入点提交的是sql语句,select * from 表名 where 字段 like ‘%关键字%’ and ‘%1%’=’%1%’。
  2. 关于sql注入的类型(就是后面的查询语句使用不同)来讲主要有这些:GET、POST、盲注、内联(也叫联合)、堆叠、宽字节注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值