渗透学习笔记(cookies、XSS注入)
1、cookie
插件:cookie-editor
JavaScript语法:
获取:document.cookie;
设置:document.cookie="username=felix"
修改:创建一个一模一样的cookie去覆盖
删除:修改cookie过期时间
举例:document.cookie='name=felix;expires=Thu,01 Jan 1970 00:00:00 GMT'
用alert可以进行弹窗
添加一个username=felix后再弹窗就多了一个cookie
刷新网络,可以看到真的把新增的cookie传到服务器了
XSS:脚本注入网页
查看是否能进行回显
<script>aleart(1)</script>有回显就代表有漏洞
安装dvwa靶场
这里遇到了一些问题,下面报什么错直接去百度搜即可解决
dvwa搭建全程+问题解决(文件配置,降低安全等级)_if you see disabled on either allow_url_fopen or a_A&&K的博客-CSDN博客z
这两个都是我参考的博客
dvwa的初始用户名为admin,密码为password,输入之后我们打开如下界面,显示配置还存在一些问题,并非所有功能都开启了:
部署完毕!
能力有限,从low级别开始做
看题--反射形XSS
low
构造payload
<script>alert('123')</script>
攻击成功
改成medium级别
原来的payload就不能用了
查看源码,发现把script过滤了
根据大小写敏感来绕过
成功
还有一种方法就是双写绕过,之前buu上做过好几遍,现在系统的来学了
high级别--看下源码
蒙了
s,c,r,i,p,t没有一个能用了
用其他的标签进行绕过
<img src=""οnerrοr="alert('XSS')">
成功
这条命令对前面级别的也是可以的
impossible
htmlspecialchars函数是将尖括号'<''>'转换为html实体
由此,用JavaScript的语言是没有办法的
接下来看看存储型的XSS
low
查看源码
我们的payload保存在里面啦
数据库里也同样可以看到
这里有个问题就是,当我们在输入一次的时候,弹出来的还是gugupig is smart,因为我们的代码已经储存在里面,第二次输入的时候,会把第一条先输出,再陆续输出
medium级别同样是script的一个过滤
大小写 双写绕过即可
等一下,不太对
再看看
加上反斜杠也不行
用img试试
整个给替换掉了
查看源码
我知道了!他对message做了一大堆绕过
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。addslashes() 函数返回在预定义字符(单引号、双引号、反斜杠、NULL)之前添加反斜杠的字符串。可以看到,由于对message参数使用了htmlspecialchars函数进行编码,因此无法再通过message参数注入XSS代码,但是对于name参数,只是简单过滤了<script>字符串,仍然存在存储型的XSS。
前端有长度限制,f12找到修改
双写或大小写绕过即可
high
先使用medium的payload
使用事件型
趁热打铁,我去BUU做了个XSS-lab
level-1
直接构造
level-2
大小写绕过双写绕过都没有用
学到一个万能探测语句
用于探测的万能语句:
<SCRscriptIPT>'"()Oonnjavascript
查看后台源码可以看到test是通过GET的方式从文本框输入,并且显示在< h2 >标签中,因此我们注入的点是在value中,但此时我们如果在value中输入script语句的话,会被当成是value的值,所以我们要先用">来过滤value的值,在通过script标签进行alert的输入
错误闭合方式
正确闭合方式
level 3
万能语句输入(前面加了个单引号闭合)
js的标签被进行了html编码
不能用script进行注入了
采用事件型进行注入
' onclick='alert(1)
level 4
源码里使用双引号包起来的
空的放进去看一下
直接把上一题的单引号换成双引号即可
level 5
on 被绕过
script被绕过
用a标签解决
a标签用法 <a href="跳转的目标界面">展示内容</a>
需要注意的是a标签不是用在input标签里面的,所以需要将input标签闭合后使用
构造,先用"闭合value,再用>闭合input,然后用a标签
用一个超链接实现跳转
"> <a href=javascript:alert(123)>abcd</a>
level 6
on 被过滤
a标签也被过滤
大写绕过即可
level 7
'"()Oonnjavascript
发现闭合字符是双引号,并且script被过滤了,on也被过滤了,双写绕过
" oonnfocus=javascscripscrips:alert(123) >
level 8
'"()Oonnjavascript
发现同时跑到下面的链接里去了,用js alert一下,发现script被过滤
尝试大写绕过,不行
用Unicode编码进行绕过
level 9
'"()Oonnjavascript
都显示链接不合法
放一个正常的链接试试
注意两点:1、把https改成http 2、js语句跟链接加//
合法是合法了,同样的道理,Unicode编码绕过
level 10
万能语句发现三个标签引入三个参数
?keyword=123&t_link=<SCRscriptIPT>'"()Oonnjavascript&t_history=<SCRscriptIPT>'"()Oonnjavascript&t_sort=<SCRscriptIPT>'"()Oonnjavascript
发现只进入了参数t_sort
那么就可以构造payload
?keyword=123&t_sort=" type='text' onclick="javascript:alert('123')
注意几点
1、t_sort后加"将value进行闭合
2、type从hidden改为text将输入框显示出来
3、最后用onclick命令触发js语句(不要忘记用"闭合)
level 11
这不是第十题的网址么,应该是上一级跳转前的网址吧
测试一下前三个标签
?keyword=?keyword=123&t_link=<SCRscriptIPT>'"()Oonnjavascript&t_history=<SCRscriptIPT>'"()Oonnjavascript&t_sort=<SCRscriptIPT>'"()Oonnjavascriptt&t_ref=<SCRscriptIPT>'"()Oonnjavascript
后两个在变
burpsuite抓包
当我把referer改成123时,t_ref也变了,那就懂了,大概就是跳转到第十题进行注入的意思吧
burp抓包修改referer头
" type="text" onfocus="javascript:alert(123) ">//
用//注释后面的type
level 12
bp抓包发现是user-agent的值
修改即可
跟11题原理一样的
level 13
有一个cookie,猜测跟cookie有关
欸吗,我不知道是什么原因,感觉题出错了??
跳过先
level14
好像也有问题
level 15
看了师傅的wp,与第一关结合起来构造img
xss/level15.php?src='http://xss/level1.php?name=<img src=asd onerror=alert(1)>'
剩下的以后再做八!
这部分over~
渗透学习笔记(cookies、XSS注入)的更多相关文章
- SQL反模式学习笔记21 SQL注入
目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别 ...
- SQLMAP学习笔记1 access注入
SQLMAP学习笔记1 access注入 Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL.Oracle.PostgreSQL.Microsoft S ...
- SpringMVC:学习笔记(11)——依赖注入与@Autowired
SpringMVC:学习笔记(11)——依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...
- Spring源码学习笔记9——构造器注入及其循环依赖
Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在 ...
- Spring 4.0.2 学习笔记(2) - 自动注入及properties文件的使用
接上一篇继续, 学习了基本的注入使用后,可能有人会跟我一样觉得有点不爽,Programmer的每个Field,至少要有一个setter,这样spring配置文件中才能用<property> ...
- dvwa学习笔记之xss
反射型Low 直接输入<script>alert(/xss/)</script>就可以发现弹窗Medium 检查源码 可以看到网站对输入字符进行了过滤,尝试双写绕过,构造< ...
- AngularJS学习笔记之依赖注入
最近在看AngularJS权威指南,由于各种各样的原因(主要是因为我没有money,好讨厌的有木有......),于是我选择了网上下载电子版的(因为它不要钱,哈哈...),字体也蛮清晰的,总体效果还不 ...
- Spring.NET学习笔记6——依赖注入(应用篇)
1. 谈到高级语言编程,我们就会联想到设计模式:谈到设计模式,我们就会说道怎么样解耦合.而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny I ...
- ASP代码审计学习笔记-1.SQL注入
ASP注入漏洞 一.SQL注入的原因 按照参数形式:数字型/字符型/搜索型 1.数字型sql查询 sql注入原因: ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: id=request. ...
- 3.羽翼sqlmap学习笔记之Cookie注入
Cookie注入: 1.假设这个网址"http://www.xxx.org/Show.asp?id=9"存在注入点.2.sqlmap命令提示符下输入下列内容进行跑表. sqlmap ...
随机推荐
- Weex原理及架构剖析
早期H5和Hybrid方案的本质是,利用客户端App的内置浏览器(也就是webview)功能,通过开发前端的H5页面满足跨平台需求.比如PhoneGap cordova ionic -- 该方案提升开 ...
- 什么是 A/B 实验,为什么要开 A/B 实验?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 1.什么是 A/B 实验 A/B 实验也被称为 A/B 测试,实验的基本思路是在线上流量中取出一小部分(较低风险) ...
- Sublime Json 格式化
Ctrl+Shift+P 安装 pretty json Ctrl+Alt+J
- web自动化-selenium携带cookie免密登录
在我们做web自动化的时候,经常会遇到含有登录的页面,我们必须登录之后才能够对我们想要操作的页面元素进行定位,也就是说所有的操作都在登录前提下,其实没必要每次请求都先登录,当我们登录成功了,会在coo ...
- 用 Python 开发的 PDF 抽取Excel表格 2.0版
前些天向大家介绍了我开发的从PDF抽取表格小工具的使用方法(️点击直达),有同学反馈说有一些问题: 一页PDF有多张表,只能抽取第一个 有些表格线条是透明的,无法抽取 一页一页处理太麻烦,不能一次性抽 ...
- Java Kafka 消费积压监控
Java Kafka 消费积压监控 后端代码: Monitor.java代码: package com.suncreate.kafkaConsumerMonitor.service; import c ...
- Spark Final-Examination Note
重点 4567,Special 4,5 3道编程题,分值 35(基本书上,不超纲) 选填各 20分,简答 5 题/25分,编程题 3题/35分. 简答题参考每章课后习题 第 1 章简答题 1. 请阐述 ...
- POJ:Dungeon Master(BFS模板题)
原题链接 思路: 正常的思路,只不过是将二维BFS换成三维的,也算是个模板题吧(PS:DFS超容易超时) #include<iostream> #include<queue> ...
- SpringCloud学习 系列三、 创建一个没有使用springCloud的服务提供者和消费者
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...
- 微信小程序图片展示类型