安全总结
安全测试问题总结
sql注入问题
myBATis的mAPPer.xml配置中使用了“$”做占位符,该占位符在运行时会使用变量原样替换.
如果变量是一个用户输入的值,就可以被SQL注入,所以要慎用该占位符,尽量使用“#”
XSS跨域脚本访问
对于用户的输入和输出给用户web页面的内容应当进行安全过滤,否则可能会保存恶意用户输入的攻击脚本.用户访问这些内容的时候,会导致用户cookie和session数据被恶意脚本访问,利用来执行恶意操作.
应对策略:
回显的消息暴露数据库和表信息
由于直接使用底层数据库异常的消息直接回显,某些数据库异常错误会暴露使用的sql语句,攻击者可以从中推断系统的数据库和表信息,发现漏洞进行攻击.
应对策略:
- 异常处理时对数据库异常进行识别,特别处理返回自定义消息
- 对回显信息进行过滤处理,规避显示一些关键字或者非安全字符1
content-Dispostion请求头设置不当导致的安全问题
使用Spring-MVC时,默认会对所有请求进行后缀匹配2,可能被利用进行RFD,故框架会对所有请求地址中有文件名后缀(没有设置在白名单,或者在内容协商处理中显示声明)的响应添加
content-Disposition:inline;filename=f.txt
头.但是这个头会导致IE中被利用进行XSS.应对策略:
对所有的后缀进行显示注册,Spring中可以做如下设置
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"> <!-- 限制后缀匹配为内容协商管理器注册的,避免安全问题RFD,XSS --> <mvc:path-matching registered-suffixes-only="true" /> </mvc:annotation-driven> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="mediatypes"> <value>do=application/json</value> </property> </bean>
对所返回内容为文本的响应,设置
Disposition:attachment;filename=f.txt
根据实际情况返回设置filename的值
- 该方法也可以避免XSS ↩
- 在SpringMVC中定义requestMapping(/mapping)默认会匹配/mapping.* ↩
相关阅读
总结是网站优化的关键。网站建设做查找引擎优化要学会赓续总结,网络营销得胜并不一定是胜利之母,只需学会总结、提炼才是。因为
Metropolis准则——以概率接受新状态 固体退火问题介绍 退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温
substr 函数:截取字符串 语法:SUBSTR(string,start, [length]) string:表示源字符串,即要截取的字符串。 start:开始位置,从1开始查找
转眼间,公司为我们这些新员工组织的入职培训已经结束。虽然时间很短,但是课程安排紧凑,培训内容十分丰富。使我在有限的时间内对公司
信奥考试反思及总结 上次信奥考试,我虽然拿了第二名,但还是有些地方是十分欠缺的。考试结束后,我严重地意识到了几个问题,再次归纳总