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数据库无法连接的坑(Could not connect to the MySQL service.Please check the config file.)_could not connect to the mysql service. please che_982913654的博客-CSDN博客

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注入)的更多相关文章

  1. SQL反模式学习笔记21 SQL注入

    目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别 ...

  2. SQLMAP学习笔记1 access注入

    SQLMAP学习笔记1  access注入 Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL.Oracle.PostgreSQL.Microsoft S ...

  3. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)——依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  4. Spring源码学习笔记9——构造器注入及其循环依赖

    Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在 ...

  5. Spring 4.0.2 学习笔记(2) - 自动注入及properties文件的使用

    接上一篇继续, 学习了基本的注入使用后,可能有人会跟我一样觉得有点不爽,Programmer的每个Field,至少要有一个setter,这样spring配置文件中才能用<property> ...

  6. dvwa学习笔记之xss

    反射型Low 直接输入<script>alert(/xss/)</script>就可以发现弹窗Medium 检查源码 可以看到网站对输入字符进行了过滤,尝试双写绕过,构造< ...

  7. AngularJS学习笔记之依赖注入

    最近在看AngularJS权威指南,由于各种各样的原因(主要是因为我没有money,好讨厌的有木有......),于是我选择了网上下载电子版的(因为它不要钱,哈哈...),字体也蛮清晰的,总体效果还不 ...

  8. Spring.NET学习笔记6——依赖注入(应用篇)

    1. 谈到高级语言编程,我们就会联想到设计模式:谈到设计模式,我们就会说道怎么样解耦合.而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny I ...

  9. ASP代码审计学习笔记-1.SQL注入

    ASP注入漏洞 一.SQL注入的原因 按照参数形式:数字型/字符型/搜索型 1.数字型sql查询 sql注入原因: ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: id=request. ...

  10. 3.羽翼sqlmap学习笔记之Cookie注入

    Cookie注入: 1.假设这个网址"http://www.xxx.org/Show.asp?id=9"存在注入点.2.sqlmap命令提示符下输入下列内容进行跑表. sqlmap ...

随机推荐

  1. 超90万个K8S实例可被发现暴露在公网上,14%位于中国

    翻译: SEAL安全 原标题: Over 900,000 Kubernetes instances found exposed online 原文链接: https://www.bleepingcom ...

  2. 《Flask Web 开发指南 pt.1》

    最近在看辉哥的<Flask Web 开发实战>,这才有了<Flask Web 开发指南>系列的文章,偏向学习笔记多一点,也有实战的内容 看下这个系列的文章我能写多少篇 :) 愚 ...

  3. 2012年第三届蓝桥杯【C++省赛B组】

    第一题:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1 ...

  4. Serverless 年终技术盘点 :工业、学术、社区遍地开花,国内厂商迅速卡位

    作者 | 刘宇(花名:江昱) ​ 2021 年,Serverless 架构在权威咨询机构 Forrester 所发布的 < The Forrester Wave: Function-As-A-S ...

  5. 2、springboot创建多模块工程

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...

  6. S3C2440移植uboot之新建单板_时钟_SDRAM_串口

    上一节S3C2440移植uboot之启动过程概述我们我们分析了uboot启动流程,这节将开始新建一块单板支持S3C2440. 目录 1.新建单板 1.1 将2410的单板文件夹拷贝成2440: 1.2 ...

  7. java基础-Junit 注解 枚举-day12

    目录 1. Junit 2. 注解 annotation 3. 枚举 1. Junit 白盒测试 黑盒测试 自行baidu了解 java单元测试 package com.msb01; import o ...

  8. ReentrantLock 可重入锁总结

    本文为博主原创,未经允许不得转载: ReentrantLock 是一种内置锁,也叫可重入锁(ReentrantLock),它允许线程再次获取已持有的同步锁,这样防止死锁的发生.在使用Reentrant ...

  9. 【日常踩坑】Debug 从入门到入土

    写代码难免遇到 bug,调试解决 bug 的快慢很影响开发的效率.本文主要是梳理并记录下个人经常用的调试方法(主要以 C/C++ 的 segment fault 为例) 分类 根据调试时机与 bug ...

  10. 使用华为路由连接WiFi,被限制网速?

    1.问题 使用华为路由连接WiFi,但是网速非常慢,经常半天才能加载一个界面? 2.解决方法 登陆http://192.168.3.1/网址,发现限速一栏被框选,取消即可