记录下SQL注入案例

SQL 注入

大扫除时发现了几年前的笔记本,稍微看了下过去的笔记。SQL注入这玩意虽说是很老的问题了,在 mybatis 等优秀的 ORM 框架里面早已经通过预编译技术解决了。但是突然发现自己早已经忘记怎么复现这个问题了。刚好记录下。

Object test1(@Param("query") String query);
Object test2(@Param("query") String query);
Object test3(@Param("query") String query);
Object test4(@Param("query") String query);
<select id="test1" resultType="java.lang.Object">
select s.*
from chs_transform_diag s
where s.diag_code = '${query}'
</select>
<select id="test2" resultType="java.lang.Object">
select s.*
from chs_transform_diag s
where s.diag_code LIKE '%${query}%'
</select>
<select id="test3" resultType="java.lang.Object">
select s.*
from chs_transform_diag s
where s.diag_code = '#{query}'
</select>
<select id="test4" resultType="java.lang.Object">
select s.*
from chs_transform_diag s
where s.diag_code LIKE '#{query}'
</select>

测试参数

  1. 1 or 1 = 1
  2. 'or'1'='1
    当使用 $ 符号时看 xml 文件里面的 sql 有没有拼 ' 符号,拼了的话就用第二个,基本就这样了。
posted @   临渊不羡渔  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示