sql注入基础(一)

本文详细介绍了SQL注入的概念,包括如何区分字符型和数字型注入,以及通过URL编码和判断闭合符号来确定攻击方式。还提供了靶场下载资源sqli-labs的链接以供学习实践。
摘要由CSDN通过智能技术生成

靶场下载

sqli-labs下载

链接:
https://github.com/Audi-1/sqli-labs

sql注入

什么是sql注入

所谓SQL注入,就是通过把SQL命令插入到WEB表单提交或输入域名或页面请求的查询字符串,最终到达欺骗服务器执行恶意的SQL命令,从而进一步得到相应的数据信息。

sql注入分类

在这里插入图片描述
在这里插入图片描述

判断是字符型注入还是数字型注入

在链接后面用给的方法查看?id=1判断
但不能简单的看到数字则认为是数字型,毕竟字符型包含数字
在这里插入图片描述
当我们输入?id=2是我们发现内容有所改变
在这里插入图片描述
此时我们输入?id=1 and 1=2
在这里插入图片描述
发现没有报错,我们可以判断该页面为字符型
反之报错则认为该页面为数字型,因为and判断必须前后都为true否则返回false
我们现在尝试数字型页面会发生什么
在这里插入图片描述
我们可以看到页面并没有返回值,则该页面为数字型页面
第二种判断数字型页面的方法是用数学符号判断
在这里插入图片描述
此时我们输入?id=2-1我们得到的结果与?id=1结果相同,此时id=2-1的结果为1,则返回值为1,字符型无法进行数字运算。在判断过程中我们应尽量使用减号进行运算,URL 编码通常使用加号(+)或 %20 替代空格,解码的时候会把+解码成空格

判断闭合方式

常见符号有’ " ‘) ")
输入?id=1’"报错多一个‘则闭合符号为单引号( ’ )
输入?id=1’"报错为near 1’“)多一个‘)则闭合符号为’)
判断闭合方式会导致sql报错,此时我们可以用‘–+’或‘#’或‘%23’注释掉
#与–+两者均为sql中注释语句,不运行后方的代码
%23则是urlencode编码格式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值