SQL注入的本质

SQL注入的本质

注入攻击的本质: 把用户输入的数据当做代码执行

两个关键条件:

第一.用户能够控制输入

第二.原本程序要执行的代码,拼接了用户输入的数据然后进行执行

手工测试

但很多时候,Web服务器关闭了错误回显,这时候我们该怎样实行SQL注入了呢,union select联合查询注入
updatexml报错注入盲注介绍
所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击。
服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息"”。

判断是否存在注入
二话不说,先加单引号’、双引号”、单括号)、双括号))等看看是否报错,如果报错就可能存在5QL注入漏洞了。
还有在URL后面加and 1=1,and 1=2看页面是否显示一样,显示不一样的话,在判断是字符型还是数字型.肯定存在SQL注入漏洞了。还有就是Timing Attack测试,也就是时间盲注。有时候通过简单的条件语句比如and 1=2是无法看出异常的。

报错查询注入
利用前提:页面上没有显示位,但是需要输出SQL语句执行错误信息。

盲注的类型:

SQL注入常用函数,盲注—般分为三种

基于布尔型的盲注:

left(a,b)从左截取a 的前b位:left(database(),1) > ‘s’
substr(a,b,c)从b位置开始,截取字符串a的c长度
ascii() 将某个字符转换为ascii值:ascii(substr(user),1,1)=101#
mid(a,b,c)从位置b开始,截取a字符串的c位 regexp正则表达式的用法
user()结果位root ,regexp为匹配root的正则表达式:select user()’

基于时间的盲注:

benchmark(count,expr)函数
sleep(time)函数
前者通过将expr语句执行 count次来到达延迟的目的,后者是直接延迟time时间
benchmark是一个内置函数,其作用是来测试一写函数的执行速度,benchmark()其中有两个参数,
第一个是执行次数,另一个是要执行的函数或者表达式。

基于报错注入:

报错顾名思义,就是使语句报错。报错注入则是注入特殊的语句使报错回显中带上我们需要的信息。报错盲注也是三种盲注中效率最高的,常见的报错回显有三种函数extractvalue()、updatexml()、floor()

Sqlmap简介

下载地址:https://github.com/sqlmapproject/sqlmap

Sqlmap 是一个开源的渗透测试工具,可以用来进行自动化检测,能自动化利用 SQL 注入漏洞的过程,帮助你接管数据库服务器。

基础命令:

-u 指定注入点

–dbs 跑库名

–tables 跑表名

–columns 跑字段名

–dump 枚举数据

image-20221122195227984

sqlmap的简单使用

sqlmap.py -u /Pass-05/index.php --forms --dbs

跑表名

sqlmap.py -u Pass-05/index.php --forms -D post_error --tables

字段名

sqlmap.py -u Pass-05/index.php --forms -D post_error -T flag --columns

出数据

sqlmap.py -u Pass-05/index.php --forms -D post_error -T flag -C flag --dump

BP和Sqlmap联动
image-20221122195617983

image-20221122195711501

如何预防sql注入?防止sql注入的方式有哪些?

1、 普通用户与系统管理员用户的权限要有严格的区分。

2、 强迫使用参数化语句

3、 必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点。

入?防止sql注入的方式有哪些?

1、 普通用户与系统管理员用户的权限要有严格的区分。

2、 强迫使用参数化语句

3、 必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点。

​ 4、 使用预编译

关注/公/众/号【助安社区】渗透零基础到入门都在这,社区内部红队沙龙、资源共享和大厂工作经验。真正热爱安全和喜欢技术交流的小伙伴欢迎加入我们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值