1.XSS

原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie信息、破坏页面结构、重定向到其它网站等。

理论上,只要存在能提供输入的表单并且没做安全过滤或过滤不彻底,都有可能存在XSS漏洞。下面是一些最简单并且比较常见的恶意字符XSS输入:

1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");</script>

2.XSS 输入也可能是 HTML 代码段,譬如:

(1).网页不停地刷新 <meta http-equiv="refresh" content="0;">

(2).嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>  除了通过正常途径输入XSS攻击字符外,还可以绕过JavaScript校验,通过修改请求达到XSS攻击的目的,如下图:

相关博文链接地址:http://www.jb51.net/article/72175.htm

1.CSRF

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

CSRF站内类型的漏洞在一定程度上是由于程序员滥用$_REQUEST类变量造成的。在一些敏感的操作中(如修改密码、添加用户等),本来要求用户从表单提交发起POST请求传递参数给程序,但是由于使用了$_REQUEST等变量,程序除支持接收POST请求传递的参数外也支持接收GET请求传递的参数,这样就会为攻击者使用CSRF攻击创造条件。一般攻击者只要把预测的请求参数放在站内一个贴子或者留言的图片链接里,受害者浏览了这样的页面就会被强迫发起这些请求。

相关博文链接:http://www.(pythontab.com)/html/2014/php_1121/923.html

1.文件漏洞

上传文件的时候,需要通过tmp_name$_FILES字段来检测文件的后缀。否则,比如图片,如果单通过后缀来判断文件类型,就出现一线问题/比如 a.php%00.jpg.其中%00为十六进制的0x00字符,.jpg骗过了应用的上传文件类型检测,但对于服务器来说,因为%00字符截断的关系,最终上传的文件变成了xxx.php。并且对于用户来说通过URL访问是可执行的。

相关博文连接:http://blog.csdn.net/u014609111/article/details/52701827

2.SQL注入漏洞及防范

SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息

●SQL注入威胁表现形式可以体现为以下几点:

●绕过认证,获得非法权限

●猜解后台数据库全部的信息

●注入可以借助数据库的存储过程进行提权等操作

●SQL注入攻击的典型手段

●判断应用程序是否存在注入漏洞

●收集信息、并判断数据库类型

●根据注入参数类型,重构SQL语句的原貌

●猜解表名、字段名

●获取账户信息、攻击web或为下一步攻击做准备

比如:“sql” or (and,||,&&)1 =1

SQL危害。。。

防范:设置用户权限 比如之给CRUD功能

网上连接很多。

截取:http://netsecurity.51cto.com/art/201108/287651.htm

http://www.jb51.net/hack/57188.html

3.文件泄露(.git/.svn/.hg/.bak/.swp/.swo)

对于一些文件,git 、svn、.bak压缩包文件不要不加以分辨直接传到服务器,可能会造成文件泄露。Linux vim会产生.swp文件,也会暴露,尽量将文件设置在用户不可访问的目录,比如www/../bak/XXX

  1. 敏感信息泄漏

通常通过id来查询数据,稍微懂一点的人就可以通过更改url的id来查询别人的信息,这个时候需要对敏感信息的id进行session验证或者其他有效的验证,其他参数类似

5.上传漏洞及防范

同图片上传

6.逻辑漏洞

这是最难查找的漏洞,因为代码层面是看不出问题的,在设计逻辑行为和流程的时候需要仔细考虑。

工具类介绍:

Windows:啊D

啊D注入工具是一种主要用于SQL的注入工具,使用了多线程技术,能在极短的时间内扫描注入点。使用者不需要经过太多的学习就可以很熟练的操作。

百度经验:

http://baike.baidu.com/link?url=KDAuaFGzvA-HmkU3OS161hERzLn5N7J7ujxUGtRTeIfecxB4N0-xtxwV3GvKr0ROdWTJ0q9hTo5JaSvZxTICDiYEDhQ0GNtECBpg62vergdVw0_mAZ_okdUZ9M9LMAWwIvIxa0d0jHEET7lpe3ExDq

教程:baidu.com

SQLMAP:

https://github.com/sqlmapproject/sqlmap

教程:http://blog.csdn.net/zgyulongfei/article/details/41017493/      baidu.com

对于验证码暴力破解:确保session一致,设置一次性session值

短信验证码可以6位,延长暴力破解时间

Phpwaf:www.baidu.com

尽量使用php安全函数,在不熟悉的时候需要百度

http://www.myhack58.com/Article/60/61/2012/32968.htm

尽量使用高版本php,避免老版本BUG

稳定的是5.5,推荐php7

对于登陆可以设置ip登陆频率

代码审计工具

rips

www.baidu.com

支付防范:

通过time()然后hash随机种子,前端后端,支付端,每一个参数传递点都要进行验证。(因为没接触过,所以不大清楚流程)

WEB安全漏洞与防范的更多相关文章

  1. [web安全]Web应用漏洞攻击分析与防范

    网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...

  2. 十大常见web漏洞及防范

    十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...

  3. PHP对于Session漏洞的防范

    目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见 ...

  4. PHP开发中常见的漏洞及防范

    PHP开发中常见的漏洞及防范 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍和防范. ...

  5. 常见PHP安全网站漏洞及防范措施

    一:常见PHP安全网站漏洞 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍. 1.se ...

  6. web安全漏洞

    1.什么是Web漏洞 WEB漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞.如果网站存在WEB漏洞并被黑客攻击者利用,攻击者可以轻易控制整个网站,并可进一步 ...

  7. 基于Web的漏洞利用

    1.Nikto 基于Web的漏洞信息扫描 nikto 自动扫描web服务器上没有打补丁的软件,同时同时也检测驻留在服务器上的危险文件,nikto能够识别出特定的问题,检测服务器的配置问题, 检测某台主 ...

  8. Web安全漏洞深入分析及其安全编码

    摘自:http://blog.nsfocus.net/web-vulnerability-analysis-coding-security/ 超全Web漏洞详解及其对应的安全编码规则,包括:SQL注入 ...

  9. web安全漏洞种类

    (参考知道创宇) SQL注入: SQL注入(SQL Injection),是一个常见的发生于应用程序和数据库之间的web安全漏洞,由于在开发过程中的设计不当导致程序中忽略了检查,没有有效的过滤用户的输 ...

随机推荐

  1. Thread suspend()挂起resume()恢复

    import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.Actio ...

  2. eclipse中git的使用

    首先在Eclipse中安装EGit插件,如下图: 1. 2.点击Add 3. 4. 5. 给Eclipse安装插件很少遇到没被屏蔽的,这是一个.安装过程并不长,稍候即可. 安装成功之后我们就可以使用了 ...

  3. windows批处理命令学习

    初入批处理的学习,发现运行window的系统命令会减少很多的劳动,很方便. 参考例子: http://www.jb51.net/article/41322.htm

  4. Computer(hdu 2196)

    题意:给出一棵树,求出每个点与距离它最远的点的距离. /* 树形DP 先把无根树转为有根树,对于一个节点i来说,与它相距最远的点有两种可能,一是在它的子树中,二是不在,我们分别用f[i][0]和f[i ...

  5. 飞思卡尔 HCS12(x) memory map解说

    对于用MCU的人来说,不一定要明白HCS12(x) memory map的机制和联系.因为如果没有系统地学习操作系统和编译原理之类的课程,确实有些难度.并且,对于DG128 XS128这样的MCU,默 ...

  6. YYH的积木(NOIP模拟赛Round 6)

    题目描述 YYH手上有n盒积木,每个积木有个重量.现在他想从每盒积木中拿一块积木,放在一起,这一堆积木的重量为每块积木的重量和.现在他想知道重量最少的k种取法的重量分别是多少. 输入输出格式 输入格式 ...

  7. 使用QML创建界面(转)

    原文转自 https://blog.csdn.net/rl529014/article/details/51378307 在Qt编程中,我们可以使用纯C++代码,或C++和XML结合的方式来创建GUI ...

  8. objdump

    objdump -h test (show section headers) test.c #include <stdio.h> int main() { static int xxxxx ...

  9. (二十四)linux新定时器:timefd及相关操作函数

    timerfd是Linux为用户程序提供的一个定时器接口.这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景. 一,相关操作函数 #inclu ...

  10. 为什么js引入页面后不起作用?

    为什么js引入页面后不起作用? 例如常见的报错:Uncaught ReferenceError: $ is not defined. 可能出现这种情况的原因如下: 原因一: 引入js的位置不对,应在使 ...