1.SQL注入原理是啥:
服务器端未严格校验客户端发送的数据,而导致服务器端SQL语句被恶意修改并成功执行的行为
2.SQL注入有几种方式?
联合注入、报错注入、布尔盲注、时间盲注、堆叠注入
3.SQL注入怎么绕WAF?
编码和加密:通过使用不同的编码(如Base64、十六进制等)
加密方法来混淆SQL语句,使得WAF难以识别恶意内容大小写混用:某些WAF可能对大小写敏感,通过改变SQL关键字的大小写可以尝试绕过检测
内敛注释:在一些SQL关键字中通过注释的方法来给屏蔽掉检测关键词
空格和特殊字符的替代:使用注释符号、空白字符或其他特殊字符替代空格,或在关键字中插入这些字符,%0a,%0d这种
逻辑绕过:通过改变查询的逻辑结构,例如使用布尔逻辑和条件语句
时间延迟和基于时间的盲注:利用SQL查询的时间延迟来判断查询的有效性,这种方式不直接返回数据,但可以通过观察响应时间来推断信息
4.在JAVA中怎么防范SQL注入?
使用ORM框架、使用预编译
5.实际情况下有哪些点是容易测试到SQL注入的?
Order by、Group by、like
6.SQL注入提权有什么方式?
UDF提权
在mysql<5.1 导出目录c:/windows或system32
在mysql>=5.1 导出安装目录/lib/plugin/
UDF提权条件:
高权限load_file() 开启 即 secure_file_priv 无限制
知道绝对路径
整理的比较粗糙,后续有时间的话,就慢慢整理
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
原文始发于微信公众号(呼啦啦安全):渗透面经-MySQL面经(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论