王绍武 王小波 彭天齐
国网电子商务有限公司 国网电商科技有限公司 天津 300000
摘 要:随着现代社会科技技术日益发展,互联网走进千家万户,深度融入现实社会方方面面,深刻改变人类生产生活方式,极大促进社会政治经济发展。互联网在给我们带来便利的同时,网络安全问题也日益凸显,网络违法犯罪、网络治安乱象、网络安全隐患等严重威胁互联网健康发展,严重影响社会安全稳定和个人敏感信息的隐私安全,给国家政治经济发展带来严峻挑战。习近平主席曾经在全国网信工作会议的讲话中有一句话“没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障”。2017年6月1日《中华人民共和国网络安全法》正式实施,该法是我国网络安全领域第一部基础性法律。也体现了我国对网络安全领域的重视上升到了国家高度。
关键词:网络安全、电子商务、安全防护。
1 引言
本文旨在结合国网电商公司省管产业单位采购专区系统中用到的安全防护方案,从代码的层面来阐述电子商务web服务应该如何应对越来越严峻的网络安全形势。
本文重点就越权访问、SQL注入、XSS跨站脚本攻击三方面的安全防护与实现进行讨论。
2 越权访问
2.1 定义
不同权限账户之间的存在越权访问。
?不同权限用户之间连接访问造成的功能、数据越权。
?不同权限用户之间替换用户cookie造成的越权。
?不同权限用户之间修改id造成的越权。
2.2 检测方法:
?使用工具抓取A用户功能链接,然后登录B用户对此链接进行访问。
?使用抓包工具抓取A用户ID并将此ID改成B用户的ID,查看是否可以操作B用户的功能或查看B的用户数据
?使用抓包工具替换不同用户cookie的方法进行测试。
2.3 防护方案:在后台服务做严格的用户权限验证。
图1 越权访问漏洞防护代码示例
3 SQL注入
3.1 定义
攻击者利用SQL注入漏洞,可以获取数据库中的多种信息(例如:管理员后台密码),从而脱取数据库中内容(脱库)。在特别情况下还可以修改数据库内容或者插入内容到数据库,如果数据库权限分配存在问题,或者数据库本身存在缺陷,那么攻击者可以通过SQL注入漏洞直接获取web shell或者服务器系统权限。
3.2 检测方法:
?识别用户输入。SQL注入漏洞可能在系统输入参数中,这些参数执行数据库操作。
a)GET、POST参数中。
b)COOKIE参数中。
c)http请求头。主机头、引用站点(referer)、User-Agent和X-Forwarded-For等。
?检测SQL注入。使用SQL注入测试语句对输入参数进行测试。
a)特殊符号:单引号,分号,web服务器响应报错。
b)条件响应:and 1=1、and 1=2、' or '1'='1、' or '1'='2,两次web服务器响应不同。
c)时间延时:sleep(5)、waitfor delay '0:0:5',系统服务器延迟响应。
d)参数相加:对数字类型进行加减运算,字符类型使用数据库连接符号进行连接。系统服务器响应与原来的响应相同。
?利用SQL注入。对以上测试进一步利用,手工构造SQL注入语句或者使用SQLMAP检测脚本构造注入语句。
3.3 防护方案:对输入参数进行过滤、校验或者采用参数预处理的方式。
图2 sql注入漏洞防护代码示例
4 结论
网络信息安全是一个随时都在发展和变化的动态事物,攻击的领域已经由传统的网络和系统层面上升到了应用层面。应用系统的安全性能,一方面立足于系统安全方案的分析与设计,而另一方面同样也取决于系统实现过程中是否存在安全性缺陷。从代码的规范开发到功能测试再到安全测试是一个严谨的过程,缺一不可,都是为了降低应用系统的安全风险,减少软件代码编写中可能出现的安全漏洞,提高应用系统自身安全防护能力。
5 参考文献
[1]《Effective Java Second Edition》Joshua Bloch
[2]浅谈社会工程学攻击与防范[J]. 周磊. 计算机光盘软件与应用.2013(15期)
[3]网络信息安全研究[J]. 杨海平. 情报科学.2000(10期)