IBatis如何防范SQL 注入攻击?

网络安全

风险:
数据库资料被窃取,服务器被攻击者控制
漏洞1 示例:
在sqlmap中如下写法:

UnSafeBean b = (UnSafeBean)sqlMap.queryForObject(“value”, request.getParameter(“name”));
漏洞1 说明:
其中sqlmap方式是把$*$ 替换,假设用户输入 ‘;drop table admin–
那么翻译为本地SQL为
select * from table where name like ‘%’;drop table admin–%’
修补方法:
采用 #*# 的方式 sqlmap是采用 预编译方式处理
把转义操作交给数据库本身!

漏洞2 示例:

id="queryByDynamicCondition"
resultMap="PrivateShowroomProductResult" >


$OrderId$ $sortSeq$


String orderId = group.getField(“orderId”).getStringValue();
query.setOrderId(StringUtils.isNotBlank(orderId)?orderId:null);
PaginationQueryList pageList =
orderService.listCustomerOrderForMistinessQuery(query);

漏洞2 说明:
其中sqlmap方式是把$*$ 替换,假设用户输入 a;drop table admin–
那么翻译为本地SQL为
select * from PRIVATE_SHOWROOM_PRODUCT order by a;drop table admin–
修补方法:

id="queryByDynamicCondition"
resultMap="PrivateShowroomProductResult" >


$OrderId:METADATA$ $sortSeq:SQLKEYWORD$


同类其他面试题 点击新一篇或旧一篇可浏览全部同类面试题

新一篇:
旧一篇:

你有答案? 你对以上面试题有意见? 你想发表你的见解? 写下来吧!你的分享将会让很多人受益!

相关面试题

·how to make your system more secure, and keep it performing better
·how to Remove Viruses
·How Viruses Work
·how to protect your computer from worm?
·What is a Firewall?

版权声明:本站大部分内容为原创! 另有少部分内容整理于网络,如需转载本站内容或关切版权事宜请联系站长。未经允许,严禁复制转载本站内容,否则将追究法律责任。 本站欢迎与同类网站建立友情链接,请联系QQ:176687814