精华内容
下载资源
问答
  • 机器学习对抗性攻击手段.pdf
  • 网络攻击手段之SQL注入.pdf
  • 浅谈网络攻击手段-宁夏大学
  • 常见的Web攻击手段-整理

    万次阅读 2019-02-28 23:27:32
    整理常见的Web攻击手段: XSS攻击 CSRF攻击 SQL注入攻击 文件上传漏洞 DDoS攻击 其他攻击手段

    整理常见的Web攻击手段:

    • XSS攻击
    • CSRF攻击
    • SQL注入攻击
    • 文件上传漏洞
    • DDoS攻击
    • 其他攻击手段

    XSS攻击

    XSS(Cross Site Scripting)跨站脚本攻击,为了不与层叠样式表(CSS)混淆,故将跨站脚本攻击缩写为XSS。原理即在网页中嵌入恶意脚本,当用户打开网页时,恶意脚本便开始在用户浏览器上执行,以盗取客户端cookie、用户名、密码,甚至下载木马程式,危害可想而知。

    以一个表单输入举例说明

    <input type="text" name="firstname" value="">
    

    在这里插入图片描述
    倘若用户在表单中输入恶意脚本,即对输入做些处理,如:

    <input type="text" name="firstname" value=""/><script>alert("longlong")</script><!-- "/>
    

    在这里插入图片描述

    其实攻击的形式还有很多,比如将脚本伪装进URL,然后将URL进行URLEncode编码,当用户点击链接后,脚本就会被执行。

    XSS防范:

    之所以会发生XSS攻击,是因为用户输入的数据变成了代码, 因此需要对用户输入的数据进行HTML转义处理,将输出的“尖括号”、“单引号”、“引号”之类的特色符号进行转义。

    HTMLHTML转义后的字符
    <&lt;
    >&gt;
    &amp;
    &quot;

    CSRF攻击

    CSRF攻击的全称跨站请求伪造(Cross Site Request Forgery),通过盗用用户的身份信息,以你的名义向第三方网站发起恶意请求,若转账、盗取账号、发信息、邮件。流程框图如下:
    在这里插入图片描述

    所以CSRF攻击一般场景是:

    1、用户登录受信站点A,生成本地cookie;
    2、用户没有退出站点A,访问了恶意站点B。

    CSRF攻击举例:

    恶意转账

    Get请求
    www.boc.com/transfer.do?accountNum=6233XXXX4324&money=10000
    
    参数说明
    accountNum转账目标账号
    money转账金额
    

    如果银行系统利用上述接口转账,就用可能会被恶意网站攻击。当然上面仅是举例,银行安全等级不至于这么低,使用GET转账。比如银行升级接口为POST提交,当然这也不能解决根本的安全问题,黑客照样能够利用XSS漏洞植入恶意代码,请求转账接口。

    真实银行交易系统付款会有USB key、验证码、登陆密码、支付密码等一系列屏障,支付流程要复杂得多,安全系数也高很多。

    CSRF攻击防御:

    1、将cookie设置为HttpOnly

    CSRF攻击很大程度是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置HttpOnly属性,JS脚本就无法读取到cookie中的信息,避免攻击者伪造cookie的情况出现。

    设置方式参考:https://www.cnblogs.com/relucent/p/4171478.html

    2、增加token

    CSRF攻击之所以成功,主要是攻击中伪造了用户请求,而用户请求的验证信息都在cookie中,攻击者就可以利用cookie伪造请求通过安全验证。因此抵御CSRF攻击的关键就是,在请求中放入攻击者不能伪造的信息,并且信息不在cookie中。

    鉴于此,开发人员可以在http请求中以参数的形式加一个token,此token在服务端生成,也在服务端校验,服务端的每次会话都可以用同一个token。如果验证token不一致,则认为至CSRF攻击,拒绝请求。

    表单中增加一个隐藏域:

    <input type="hidden" name="_token" value="tokenvalue"/>
    

    在服务端session中添加token:

    HttpSession session = request.getSession();
    Object token = session.getAttribute("_token");
    if(token == null || "".equals(_token){
    	session.setAttribute("_token",UUID.randomUUID().toString());
    }
    

    3、通过Referer识别

    Http头中有一个字段Referer,它记录了Http请求来源地址。但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。

    (火狐的一个插件RefControl修改Referer引用)

    SQL注入攻击

    SQL注入攻击就是把SQL命令伪装成正常的http请求参数,传递到服务端,欺骗服务器最终执行恶意的SQL命令,达到入侵目的。

    SQL注入攻击原理如下:

    String sql = "select * from user where nick = '" + nickname + "' and password = '" + password + "'";
    
    Statement st = (Statement) conn.createStatement();
    
    ResultSet rs = st.executeQuery(sql);
    

    上述代码是校验用户名、密码是否有效,查询结果记录数大于0则表示有效。正常逻辑是用户名、密码匹配数据库记录;但攻击者会利用http参数进行SQL注入攻击,即password参数输入’ or ‘1’ = '1,导致SQL语句变为

    select * from user where nick = 'zhangshan' and password = '' or '1' = '1';
    

    上述语句的执行结果就相当于用户能够绕过登录验证。

    SQL注入防范

    1、使用预编译语句

    Java原生的预编译语句为PreparedStatement,是Java.sql中的一个接口,继承自Statement。

    SQL执行说明
    StatementSQL语句(包含参数)会直接发给DBMS,编译后再执行
    PreparedStatementSQL语句(参数为占位符?)发给DBMS编译,DBMS直接运行编译后的SQL语句,参数会在执行阶段传入

    2、使用ORM框架

    ORM框架如MyBatis http://www.mybatis.org/mybatis-3/,在Mapper XML配置的语句如下:

    <select id="selectPerson" parameterType="int" resultType="hashmap">
      SELECT * FROM PERSON WHERE ID = #{id}
    </select>
    
    
    <select id="selectPerson" parameterType="int" resultType="hashmap">
      SELECT * FROM PERSON WHERE ID = ${id}
    </select>
    
    

    有两种参数传递的方式:#{}、${},两者的差异就在于,#是在预编译后,执行语句时再传递参数,$是先传递参数,然后再执行编译,再执行语句,SQL注入就是利用这种方式。

    文件上传漏洞

    倘若web网站没有对文件类型进行严格的校验,导致可执行文件上传到了服务器,恶意程序就会执行。

    为了避免恶意文件上传,需要对上传文件类型进行白名单校验,并限制文件大小,上传文件进行重命名。有关文件类型的校验,需要去了解下魔数(magic number)这个概念,这里不做引伸。

    DDoS攻击

    DDoS(Distributed Denial Of Service)攻击即分布式服务攻击,借助公共网络,将数量庞大的计算器设备(肉鸡)联合起来,对一个或多个目标发动攻击,从而达到瘫痪目标主机的目的。

    DDoS攻击手段

    1、SYN flood

    攻击者伪造大量无效IP,不断与目标主机建立TCP链接,导致服务器维护了一个非常大的链接等待列表,占用大量系统资源,直至新链接无法建立。

    这种攻击是利用了TCP三次握手的异常处理机制,即第三次握手,服务端在没有收到客户端ACK报文时,服务端会进行多次SYN+ACK重试,然后维护一个等待列表,而系统会为即将建立的TCP连接分配一部分资源。资源耗尽,系统也就无法再建立TCP连接。

    2、DNS query flood

    攻击者伪造大量无效域名,发送给目标服务器解析,这些域名均为无效域名,导致DNS服务器耗用大量资源去处理这些无效域名,造成DNS解析域名超时,达到攻击目的。

    其他攻击手段

    攻击手段永远都比防御方法多得多。因此平时的业务中需要及时的添加各种攻击防御策略。

    展开全文
  • 在万物智能互联的时代,我们生活的世界,越来越多的产品趋于“无形”——即无法触摸到的软件和其它数字内容。当机器设备被赋予更多的智能,高度自动化、自主运转的工厂将人力大量...本文介绍常见工控安全黑客攻击手段
  • 黑客社会工 程学攻击则是将黑客入侵攻击手段进行了最大化,不仅能够利用系统的弱点进行入侵,还能通过人性的弱点进行入侵,当黑客攻击与社会工程学攻击融为一体时,将 根本不存在所谓安全的系统
  • 常见网络攻击手段分析及防御原理,讲述了常见的网络攻击手段原理,防御原理。
  • kali常用攻击手段之Hping3攻击

    千次阅读 2020-03-22 14:37:52
    kali常用攻击手段之Hping3攻击 1.HPING3攻击 Hping3 是一个命令行下使用的 TCP/IP 数据包组装/凾析工具,通常 web服务会用来做压力测试使用,也可以迚行 DOS 攻击的实验。同样 Hping 只能每次扫描一个目标。 ...

    kali常用攻击手段之Hping3攻击

    1.HPING3攻击

    • Hping3 是一个命令行下使用的 TCP/IP 数据包组装/凾析工具,通常 web服务会用来做压力测试使用,也可以迚行 DOS 攻击的实验。同样 Hping 只能每次扫描一个目标。

    hping3 -c 100000 -d 120 -S -w 64 -p 80 --flood --rand-source xxxx域名
    hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source jiuxiao.cn 
    

    -c 1000 = 发送的数据包的数量。`

    -d 120 = 发送到目标机器的每个数据包的大小。单位是字节 -S = 只发送 SYN 数据包。

    -w 64 = TCP 窗口大小。

    -p 80 = 目的地端口(80 是 WEB 端口)。你在这里可以使用仸何端口。

    –flood = 尽可能快地发送数据包,丌需要考虑显示入站回复。洪水攻击模式。

    注意:此方法一般用于网站压力测试,切勿进行违法活动,一切后果与博主无关

    展开全文
  • 网络安全不容忽视,整理常见的Web网站攻击手段如下: XSS攻击 CSRF攻击 SQL注入攻击 文件上传漏洞 DDoS攻击 其他攻击手段 一、XSS攻击 XSS(Cross Site Scripting)跨站脚本攻击,为了不与层叠样式表(CSS)...

    网络安全不容忽视,整理常见的Web网站攻击手段如下:

    • XSS攻击
    • CSRF攻击
    • SQL注入攻击
    • DDoS攻击
    • 文件上传漏洞

    一、XSS攻击

    XSS(Cross Site Scripting)跨站脚本攻击,为了不与层叠样式表(CSS)混淆,故将跨站脚本攻击缩写为XSS。原理即在网页中嵌入恶意脚本,当用户打开网页时,恶意脚本便开始在用户浏览器上执行,以盗取客户端cookie、用户名、密码,甚至下载木马程式,危害可想而知。

    场景1:以一个表单输入举例说明

    <input type="text" name="firstname" value="">
    

    在这里插入图片描述
    倘若用户在表单中输入恶意脚本,即对输入做些处理,如:

    <input type="text" name="firstname" value=""/><script>alert("longlong")</script><!-- "/>
    
    

    在这里插入图片描述

    其实攻击的形式还有很多,比如将脚本伪装进URL,然后将URL进行URLEncode编码,当用户点击链接后,脚本就会被执行。

    XSS防范:

    之所以会发生XSS攻击,是因为用户输入的数据变成了代码, 因此需要对用户输入的数据进行HTML转义处理,将输出的“尖括号”、“单引号”、“引号”之类的特色符号进行转义。

    HTMLHTML转义后的字符
    <&lt;
    >&gt;
    &amp;
    &quot;

    场景2:一个博客网站,我发表一篇博客,其中嵌入脚本,脚本内容:获取cookie,发送到我的服务器(服务端配合跨域)。有人查看这篇博客,我轻松收割访问者的cookie。

    XSS预防:

    替换特殊字符,如< 变成 &lt ; >变成 &gt ;<script>变成 & ltscript &gt;

    直接显示,而不会作为脚本执行。前端要做替换,后端也要做替换,双重保证。


    二、CSRF攻击

    CSRF攻击的全称跨站请求伪造(Cross Site Request Forgery),通过盗用用户的身份信息,以你的名义向第三方网站发起恶意请求,若转账、盗取账号、发信息、邮件。流程框图如下:
    在这里插入图片描述

    所以CSRF攻击一般场景是:

    1、用户登录受信站点A,生成本地cookie;
    2、用户没有退出站点A,访问了恶意站点B。

    CSRF攻击举例:

    恶意转账

    如果银行系统利用上述接口转账,就用可能会被恶意网站攻击。当然上面仅是举例,银行安全等级不至于这么低,使用GET转账。比如银行升级接口为POST提交,当然这也不能解决根本的安全问题,黑客照样能够利用XSS漏洞植入恶意代码,请求转账接口。

    真实银行交易系统付款会有USB key、验证码、登陆密码、支付密码等一系列屏障,支付流程要复杂得多,安全系数也高很多。

    CSRF攻击防御:

    1、将cookie设置为HttpOnly

    CSRF攻击很大程度是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置HttpOnly属性,JS脚本就无法读取到cookie中的信息,避免攻击者伪造cookie的情况出现。

    设置方式参考:https://www.cnblogs.com/relucent/p/4171478.html

    2、增加token

    CSRF攻击之所以成功,主要是攻击中伪造了用户请求,而用户请求的验证信息都在cookie中,攻击者就可以利用cookie伪造请求通过安全验证。因此抵御CSRF攻击的关键就是,在请求中放入攻击者不能伪造的信息,并且信息不在cookie中。

    鉴于此,开发人员可以在http请求中以参数的形式加一个token,此token在服务端生成,也在服务端校验,服务端的每次会话都可以用同一个token。如果验证token不一致,则认为至CSRF攻击,拒绝请求。

    表单中增加一个隐藏域:

    <input type="hidden" name="_token" value="tokenvalue"/>
    

    在服务端session中添加token:

    HttpSession session = request.getSession();
    Object token = session.getAttribute("_token");
    if(token == null || "".equals(_token){
    	session.setAttribute("_token",UUID.randomUUID().toString());
    }
    

    3、通过Referer识别

    Http头中有一个字段Referer,它记录了Http请求来源地址。但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。

    (火狐的一个插件RefControl修改Referer引用)


    三、SQL注入攻击

    SQL注入攻击就是把SQL命令伪装成正常的http请求参数,传递到服务端,欺骗服务器最终执行恶意的SQL命令,达到入侵目的。

    SQL注入攻击原理如下:

    String sql = "select * from user where nick = '" + nickname + "' and password = '" + password + "'";
    
    Statement st = (Statement) conn.createStatement();
    
    ResultSet rs = st.executeQuery(sql);
    

    上述代码是校验用户名、密码是否有效,查询结果记录数大于0则表示有效。正常逻辑是用户名、密码匹配数据库记录;但攻击者会利用http参数进行SQL注入攻击,即password参数输入’ or ‘1’ = '1,导致SQL语句变为

    select * from user where nick = 'zhangshan' and password = '' or '1' = '1';
    

    上述语句的执行结果就相当于用户能够绕过登录验证。

    SQL注入防范:

    1、使用预编译语句

    Java原生的预编译语句为PreparedStatement,是Java.sql中的一个接口,继承自Statement。

    SQL执行说明
    StatementSQL语句(包含参数)会直接发给DBMS,编译后再执行
    PreparedStatementSQL语句(参数为占位符?)发给DBMS编译,DBMS直接运行编译后的SQL语句,参数会在执行阶段传入

    2、使用ORM框架

    ORM框架如MyBatis http://www.mybatis.org/mybatis-3/,在Mapper XML配置的语句如下:

    <select id="selectPerson" parameterType="int" resultType="hashmap">
      SELECT * FROM PERSON WHERE ID = #{id}
    </select>
    
    
    <select id="selectPerson" parameterType="int" resultType="hashmap">
      SELECT * FROM PERSON WHERE ID = ${id}
    </select>
    
    

    有两种参数传递的方式:#{}、${},两者的差异就在于,#是在预编译后,执行语句时再传递参数,$是先传递参数,然后再执行编译,再执行语句,SQL注入就是利用这种方式。

    SQL注入攻击总结:

    主要是就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如select * from test where username=”wuxu” or 1=1,这样会使用户跳过密码直接登录,具体解决方案:

    1. 特殊字符过滤,不要用拼接字符串的方法来凑sql语句。
    2. 对sql语句进行预编译,比如java的preparedstatement。
    3. 关闭错误信息,攻击者可能会通过不断的尝试来得到数据库的一些信息,所以关闭错误信息变得重要起来。
    4. 客户端对数据进行加密,使原来传进来的参数因为加密而被过滤掉。
    5. 控制数据库的权限,比如只能select,不能insert,防止攻击者通过select * from test ;drop tables这种操作


    四、DDoS攻击

    DDoS(Distributed Denial Of Service)攻击即分布式服务攻击,借助公共网络,将数量庞大的计算器设备(肉鸡)联合起来,对一个或多个目标发动攻击,从而达到瘫痪目标主机的目的。

    DDoS攻击手段

    1、SYN flood

    攻击者伪造大量无效IP,不断与目标主机建立TCP链接,导致服务器维护了一个非常大的链接等待列表,占用大量系统资源,直至新链接无法建立。

    这种攻击是利用了TCP三次握手的异常处理机制,即第三次握手,服务端在没有收到客户端ACK报文时,服务端会进行多次SYN+ACK重试,然后维护一个等待列表,而系统会为即将建立的TCP连接分配一部分资源。资源耗尽,系统也就无法再建立TCP连接。

    2、DNS query flood

    攻击者伪造大量无效域名,发送给目标服务器解析,这些域名均为无效域名,导致DNS服务器耗用大量资源去处理这些无效域名,造成DNS解析域名超时,达到攻击目的。

    被攻击的原因

    • 服务器带宽不足,不能挡住攻击者的攻击流量

    预防

    • 最直接的方法增加带宽。但是攻击者用各地的电脑进行攻击,他的带宽不会耗费很多钱,但对于服务器来说,带宽非常昂贵。

    • 云服务提供商有自己的一套完整DDoS解决方案,并且能提供丰富的带宽资源


    五、文件上传漏洞

    倘若web网站没有对文件类型进行严格的校验,导致可执行文件上传到了服务器,恶意程序就会执行。

    为了避免恶意文件上传,需要对上传文件类型进行白名单校验,并限制文件大小,上传文件进行重命名。有关文件类型的校验,需要去了解下魔数(magic number)这个概念,这里不做引伸。


    参考链接: 总结几种常见web攻击手段及其防御方式

    展开全文
  • Smurf攻击手段

    2016-04-02 10:43:32
    Smurf攻击手段Smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。更加复杂的Smurf将源地址改...

    Smurf攻击手段

    Smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃

    参考文档

    百度百科。 —— [ 百度百科 ]

    Smurf攻击博客——[360博客]

    攻击过程如下图所示:

    Smurf攻击图:

    Created with Raphaël 2.1.0 攻击者 攻击者 目标网络广播地址 目标网络广播地址 受害者 受害者 发送icmp请求包。 响应icmp请求包 将自己的IP改为攻击目标地址 号召该网段的所有主机发送数据。 崩溃

    展开全文
  • 网络安全-网络攻击手段分析与对策.ppt
  • 网络攻击手段

    2013-08-26 14:59:37
    目前已知的拒绝服务攻击就有几百种,它是最基本的入侵攻击手段,也是最难对付的入侵攻击之一,典型示例有SYN Flood攻击、Ping Flood攻击、Land攻击、WinNuke攻击等。 2.非授权访问尝试:是攻击者对被保护文件...
  • 黑客常用入侵与攻击手段分析 内容:黑客常用入侵与攻击方法的介绍真实入侵过程实录 目的:通过对常用入侵与攻击方法的简单介绍,让大家对互联网络 的安全问题有初步的认识然后通过反面的入侵过程演示,加深印象 以促使...
  • 常见网络攻击手段原理分析.ppt
  • 网络安全:常见攻击手段及防御

    千次阅读 2019-07-19 17:42:48
    随着互联网的发展,网络安全日益显的尤为重要,接下来介绍一下常见的web攻击手段。 1.XSS攻击(Cross Site Scripting) 全称跨站脚本攻击 是一种常见的攻击手段之一,攻击者主要通过嵌入恶意脚本程序,当用户打开...
  • 几种诱骗攻击手段(鱼叉、水坑、诱骗)说明
  • Web攻击手段之XSS攻击,CRSF, SQL注入攻击  1. XSS攻击  XSS攻击的全称是跨站脚本攻击,指的是攻击者在网页中嵌入恶意脚本程序,当用户打开该网页时,脚本程序便开始在客户端的浏览器上执行,以盗取客户端...
  • 【无线安全实践入门】基础攻击手段与常用工具简介 1.网络扫描 2.破解wifi密码 3.针对漏洞的攻击手段 4.泛洪攻击 5.DoS攻击 6.Cookie窃取 7.Session劫持 8.1.SSH攻击 8.2.DNS劫持/污染 等
  • 第三节 木马的攻击手段与防御方法(天融信网络安全公开课程)
  • 常见网络攻击手段原理分析.doc 常见网络攻击手段原理分析.doc
  • android攻击手段

    千次阅读 2013-06-20 21:36:57
    A Survey of Current Android Attacks 这篇文献写了android的攻击手段,写的还是有点糙哈! 里面有价值的简单列举一下,先吐槽CSDN无法直接黏贴图片,太费劲了!附件也不能上传? 安全分事前-事中-事后。 android...
  • 描述各种常见的网络攻击手段,以及攻击原理。
  • DDos常见攻击手段介绍

    千次阅读 2016-12-08 22:19:09
    DDoS攻击就是攻击者发起的一个尝试,目的是耗尽可用于网络、应用程序或服务的资源,以致于真正的用户无法访问这些资源。...这些形式包括洪水攻击和更加尖端的应用层攻击手段/工具。洪水攻击依赖大量流量/会话来耗尽...
  • 利用交换机漏洞的常见三种攻击手段:生成树攻击\MAC表洪水攻击\ARP攻击
  • Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术 Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术
  • 常见的黑客攻击手段 常见的攻击手段有:ARP攻击,DoS攻击,DDoS攻击,SYN攻击,缓冲区溢出攻击,等等。下面我将对这几种攻击做个介绍。 1 ARP攻击 ARP(Address Resolution Protocol)是地址解析协议,是一种利用网络...
  • 这是一篇分析网络攻击手段原理的文章
  • 防守反击:黑客攻击手段分析与防范 pdf,内容完整,直得一看的书籍。
  • 该文章主要讲述的是如何绕过防火墙的限制,其中介绍了一些攻击手段和防护的技术,对防火墙感兴趣的小伙伴可以好好读一下。
  • 常见十大web攻击手段

    千次阅读 2014-11-17 15:02:37
    常见针对 Web 应用攻击的十大手段 目前常用的针对应用漏洞的攻击...十大攻击手段 应用威胁 负面影响 后果 跨网站脚本攻击 标识盗窃,敏感数据丢失… 黑客可以模拟合法用户,控制其帐户。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,385
精华内容 32,154
关键字:

攻击手段