sql - 使查询易受 SQL 注入攻击
问题描述
我正在玩具应用程序中进行一些渗透测试。以下代码使应用程序易受攻击,因此我可以使用 登录'or'1'='1
,但无法使用 Sqlmap 浏览表:
Session session = sessionFactory.getCurrentSession();
Query query = session
.createSQLQuery("select * from product where product_id = '" + id + "' limit 0,1").addEntity(Product.class);
session.flush();
return (Product) query.uniqueResult();
我相信该createSQLQuery
方法只允许一个陈述,为此我认为这种方法是问题所在。我怎样才能改变它以能够使用 Sqlmap 探索表?
解决方案
推荐阅读
- android - 使用 Jitsi Sdk 和 quickblox-android-sdk 时重复类 org.webrtc.AndroidVideoDecoder
- java - Spring RestTemplate 在 Spring Boot 控制台应用程序中使用时会超时
- elasticsearch - 如何在单个节点上运行多个 Elasticsearch 实例
- .net - 在本地时区将 JSON 字符串反序列化为 .NET DateTime 会增加两个小时
- html - 网格布局css中的按钮
- android - 尽管已在 Google Play 控制台中定义,但在代码中未找到 Android 订阅/购买
- reactjs - 如何在 mapStateToProps 中使用 useParams?
- swift - Xcode 在运行测试时出现“找不到图像”
- python - 如何将字符串划分为列表中的子字符串列表,但保持数字字符串完整 - Python?
- shopify - 如何为收藏创建自定义 Shopify ajax 过滤器?