欢迎来到天天文库
浏览记录
ID:26341645
大小:54.50 KB
页数:6页
时间:2018-11-26
《php网站设计中信息安全防御的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PHP网站设计中信息安全防御的研究摘要:网络具有开放性和共享性的特点,在给人们的生活带来便利的同时,也对网络用户的信息安全带来了威胁。本文研究了在php网站开发过程中信息安全防御技术,列举在php网站开发时容易出现的安全漏洞以及这些漏洞带来的危害,同时还介绍了黑客常用的攻击手段并给出相应的解决方案。关键词:安全防御;php;网站0引言当前网络与信息安全产业已成为对各国的国家安全、政治稳定、经济发展、社会生活、健康文化等方方面面具有生存性和保障性支撑作用的关键产业。网络与信息安全可能会影响个人的工作、生活,甚至会影响国家经济发展、社会稳定
2、、国防安全。因此,网络与信息安全产业在整个产业布局乃至国家战略格局中具有举足轻重的地位和作用。本文对php网站设计中信息安全防御的研究具有重要的意义。1php编码过程中的安全问题及其防范服务器和php的运行环境配置好后,并不意味着网络应用就安全了,程序员的安全意识也起着决定性的作用。如果程序员的安全意识不高,对用户的所有输入都没有进行安全验证,那么,所有有害的指令都将作为合法指令被执行。1.1sql注入的防范程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使得用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得
3、知的数据,这就是所谓的sqlinjection,即sql注入。1)经典的'or1=1'注入‘or1=1’注入是非常经典的注入语句,一般用在登录系统时绕过密码验证,以任意用户名登入。LoCaLhoST其原理是利用程序员在编写验证程序的时候没有验证用户的输入是否含有非预期的字符串,直接传递给mysql_query()函数执行,or1=1使得无论密码是否匹配保证验证语句为真,达到绕过密码验证的目的2)利用union语句的注入union语句是利用其特性,使程序默认的语句出错,让程序执行union之后自己构造的sql语句,达到注入的目的。3)防s
4、ql注入的通用解决方案注入的手段是多种多样,十分灵活的,但有一个共同点,都是利用没有对输入进行过滤。防止注入的方法也就是对传递给查询语句的参数进行过滤。该函数是通过正则表达式匹配常用的注入语句,并对其进行过滤。采用该过滤函数后,使用上述方法再次进行注入时,全部失效。1.2xss跨站攻击xss全称为crosssitescripting,由于css已经用作样式表的简称,故称为xss。xss是一种常见的网站攻击的手段。其原理与sql注入比较类似,只不过利用的html标签中注入javascript脚本,通过在网页的输入框输入一些恶意的内容,通常
5、是javascript脚本片段达到注入的目的,这些恶意输入在提交之后并重新读回到客户端时,浏览器会解释执行这些恶意的脚本内容,从而影响网页的正常显示。1)xss探测在判断一个网站是否存在xss漏洞是,经常用到下面这条语句进行探测:在输入框中输入该语句找到该语句执行的地方看是否有弹窗,如果有,则表示这个网站存在xss漏洞,这里以留言本为例。登入留言页面,在输入框内输入检测代码,刷新页面,发现浏览器弹出窗口,表明该留言板存在着xss漏洞。2)利用xss重定向一旦确定网站存在xss漏洞,那么攻击手段就有很多种,将当前网页重定向到其他网页是一种
6、比较直接的方法,黑客可以利用这种手法达到刷网站流量,或者在转向的网站上挂上木马,使访问者电脑感染木马病毒的目的,攻击代码如下:将evil.org替换成想要转向的就达到注入的目的了。3)利用xss弹出其他网页平时在浏览有些网站的时候经常会出现弹出广告的情况,黑客也会可以利用xss攻击使正在浏览被攻击页面的用户浏览器弹出窗口,这样又可以利用弹窗来达到挂马的目的了。攻击代码如下:该段代码是让浏览器弹出一个窗口并打开百度首页,把百度的换成挂马的网页,黑客的攻击目的就达到了。4)利用<iframe>标签进行xss攻击<iframe>是一个非常常用
7、的html标签,他的功能是在网页中嵌入其他网页,可以通过height属性和src指定嵌入页面的高度和地址。黑客可以将高度设为0,将页面地址设置为被挂马的网页,或者利用cookie的同源特性窃取cookie。攻击代码如下:2安全防御常用方法2.1平衡风险与可用性尽量使安全措施对用户透明,使他们感受不到它的存在。如果实在不可能,就尽量采用用户比较常见和熟悉的方式来进行。例如,在用户访问受控信息或服务前让他们输入用户名和密码就是一种比较好的方式。2.2跟踪数据作为一个有安全意识的开发者,最重要的一件事就是随时跟踪数据。不只是要知道它是什么和它
8、在哪里,还要知道它从哪里来,要到哪里去。有时候要做到这些是困难的,特别是当你对web的运做原理没有深入理解时。这也就是为什么尽管有些开发者在其它开发环境中很有经验,但他对web不是很有经验时,经常会犯错并制
此文档下载收益归作者所有