owasp top10之SQL注入 一些笔记

本文介绍了SQL注入的原理,包括未授权的任意查询操作数据库的定义。文章探讨了多种利用技巧,如二次注入、绕过WAF的方法,并列举了一些实用的SQL语句。此外,还分享了sqlmap的运行流程以及防御SQL注入的策略,如使用PDO扩展和正则过滤。
摘要由CSDN通过智能技术生成

自用,记录一下

一.原理

百度上解释为:

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

二.利用

如果大站遇到任何SQL洞都是人品爆棚了,或者又是蜜獾,常规利用方式就不记录了

一.常用技巧

①.二次注入:从数据库中取出恶意数据触发 常测试方法为上传图片时修改图片名,注册时跟/\等特殊符号,通过防火墙本身的过滤与转义功能实现
②.get包转post包或反转,可过少部分waf
③.waf等对/* */中的数据检测很消耗性能,一般智能型waf默认不检查(内联注释可过狗的一部分原因)太长的/*! */内容检测影响业务速度,大概填充1m垃圾数据能绕过,/*!50000 */。
④.没有网站会禁止浏览器蜘蛛的抓取,user-agent头改为主流浏览器爬虫可绕过
⑤.order by后跟的是字段名,所以参数化预处理后无法生效,可挖点时间排序。
⑥.注册账号的时候:账号admin空格空格空格空格空格空格或者++++++ 密码随意。登陆的时候会可能会把空格解析掉,变成真正的admin。或者改用户密码都为空的包,测试数据库是否有手滑。
⑦.测试注入的时候细心一些,别只测试单引号,加 and 1=1 或1=2测试返回页面,可以确定是否有注入
⑧.x-forward改为127.0.0.1,waf可能对本地的包不过滤
⑨.遇到使用/转义单引号的,可单引号前加入%df与/合并后会变成宽字节"運",二次编码等,利用UTF-8客户端-服务器会解码两次原理绕过waf,利用防火墙本身的过滤来攻击需要先测试出过滤规则,例如*被过滤成空白或空格,构造uni*on+sele*ct 1,2,3--+
⑩.MySQL数据库中&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值