占位符和sql注入
上一篇 /
下一篇 2016-09-19 15:38:15
/ 个人分类:安全测试
http://域名/intf/topic/接口名?tid=9892645&fid=19166&agent=0&uid=388¤tUrl=¤tReferer=%27+and+%27f%27%3D%27f&1470300816063
转码后就是 ' and 'f'='f
SQL 盲注:通过使用撇号来附加布尔 True/False 字符串表达式
大概就是将传递过来的数据,转化成特定格式
直接sql拼接就会有sql注入的风险,但是将传递过来的当做了一个整体转义后进行拼接,就
安全了。
jdk直提供接口,而具体实现是由
数据库厂商实现的,我们用的就是数据库厂商实现的类。于是我就又去查mysql的jar包源码,发现有个PreparedStatement实现了jdk中的PreparedStatement了。里面的setString方法实现的。
- pstmt = conn.prepareStatement("delete from user where user.id=?");
- pstmt.setString(1, "w' or '2'='2"); ———这是占位符的一种体现
输出是:delete from user where user.id='w\' or \'2\'=\'2'
单引号都被转义了!
setString的代码里有将特殊字符转义!
主要是单引号和反斜杠
收藏
举报
TAG:
占位符
安全
注入