pikachu 靶场之XSS(跨站脚本) -下篇

简介: pikachu 靶场之XSS(跨站脚本) -下篇

XSS 之盲打

场景:

image.png

XSS盲打

XSS

请在下面输入你对"锅盖头"这种发型的看法:

我们将会随机抽出一名送出麻港一日游

你的大名:

提交

一个留言板,只有后台才能看见前端存在的内容,从前端无法确定是否存在XSS漏洞,假设存在XSS漏洞,直接往里输入 XSS 代码,称为盲打。


不论3721!,直接往里面插入XSS代码,然后等待,可能会有惊喜!!

被动等待.....(当后台管理员登陆时就可能被攻击)


1 构造payload


<script>alert("attack!")</script>


image.png

xSS>XSS盲打

请在下面输入你对"锅盖头"这种发型的看法:

我们将会随机抽出一名送出麻港一日游

xSSscriptalert"attack!"

</script

你的大名:

XXX

提交

提交后,模拟管理员登录后台


2 模拟管理员登录后台

image.png

xss日打

你已经成功登录留言板后台,出费陆

用户反馈的意见列表:

编号

内客

操作

时间

姓名

xSS

2021-06-160357:48

127.0.0.1

ottack!

瑜定

存在XSS漏洞,并且也是存储型XSS


XSS 之过滤

1 随便输入内容,然后输入特殊字符('"<>)

image.png

127.0.0.1/pikachu/vul/xss/xss01.php?message

哈哈哈submit-submit

0

常用网址

京东商城

东习平台pika-pika-

xSS>xSS之过滤

阁下,请问你觉得人生苦短吗?

submit

别说这些哈哈哈"

约话,不要怕就是干!

image.png

"<>&bmit-submit

127.0.0.1/pikachu/vul/xss/xss01.php?messaje"

京东商城

常用网址

习平台pika-pika-

xSS>XSs之过滤

阁下,请问你觉得人生苦短吗?

submit

制说这些"的话,不要怕就是干!

2 输入 payload



<script>alert("attack!")</script>


image.png

127.0.01/pkachuvl/s从ss0.ppme

京东商城

常用网址

羽平台pika-pika-

xSS之过滤

XSS

阁下,请问你觉得人生苦短吗?

submit

别说这些>的话,不要怕就是干!

什么也没发生,应该是过滤掉一些内容


3 尝试绕过

改动大小写



<SCRIPT>alert("attack!")</SCRIPT>


image.png

127.0.0.1

attack!

确定

img 中 onerror事件



<img src="x" onerror="alert('error!')">


image.png

127.0.0.1

error!

确定

说明只是过滤了大小写,当然XSS绕过姿势不止一种,师傅们自行扩展


XSS 之htmlspecialchars

htmlspecialchars函数概览

调用该函数进行转换的字符如下

image.png

预定义的字符是:

口&(和号)

成为&amp

口(双引号)成为&quot

口(单引号)成为&#039

口<(小于)成为&lt

口>(大于)成为&gt

函数转换的类型

image.png

可用的引号类型:

ENT_COMPAT-默认.仅编码双引号.

ENTQUOTES-编码双引号和单引号

ENT_NOQUOTES-不编码任何引号.

如果使用该函数对用户的输入进行处理,而保持默认转换类型可能会出现 XSS漏洞

(仅编码双引号)

1 输入 '"<>111 查看源码

image.png

127.0.0.1/pikachu/vul/xss/xss02.phpmesqe"11uiubmit

常用网址

京东商城

习平台pika-pika-

xss>XSS之htMLSPECIALCHarS

人生之所有苦短,是因为你的xss学习的还不够好

submit

你的输入已经被记录:

出生111

image.png

<divclass-

page-content'?'

<divid-"xssrmain">

lass"xssr_title>人生之所有苦短,是因为你的xss学习的还不够好<)

<formmethod-get"

inputclas

tclass-"xssr_intype"text"name-"message>

name-"submit"value-"submit">

<inputclass-"xssr_submit"

it"type-"submit'

</form

class'notice>你的输入已经被记录

/div>

href-"'&quot:lt:gt:111x&quot:t:&gt:111/a>

Ka

<div><!--/.page-content-->

Qdiv

divx!--/main-content-->

从源代码可以看出,单引号未进行过滤,只是过滤了双引号


2 输入 payload


#' onclick='alert("aaa")


image.png

2

192166154.13/PkhuwuXsxmm

常用网址

京东商城

的平台pika-pika-

xsS>xSS之htmlspecialchars

人生之所有苦短,是因为你的xss学习的还不够好

submit

你的输入已经被记录:

#onclick-'alert"aaa")

image.png

192.168.154.135

aaa

确定



XSS 之href输出

javascript 伪协议

语法



javascript:someScript;someScript 是一个或多个使用 ; 分隔的 JavaScript 语句


实例


<a href="javascript:alert('JavaScript Link!');">JavaScript Link</a>


XSS href 输出

  • 输出在 a 标签的 href 属性中,可以使用 JavaScript 协议来执行js
  • 防御:只允许http,https,其次再进行 htmlspecialchars 处理

1 根据提示输入网址,查看源码

image.png

xSS>XSS之href输出

请输入一个你常用的网站url地址,我就知道你是什么人

submit

阁下自己输入的url还请自己点一下吧

image.png

div>

<divclass-"page-content

Kdivid-"xssr_main'>

请输入一个你常用的网站ur1地址,我就知道你是什么人/>

<pclass-"xssr-title">请轴

<form

nmethod-"get'>

"xssr-in"type-"text"name-"message">

<input

class-"x

<input

class-xssr_submtytype-"submityname-"submityvalue"submit

Kform>

阁下自己输入的url还请自己点一下吧/a>

Kdiv>

hrefhttps://ww.baidu.com

/divX!--/.page-content--

div>

</divX<!--/,main-content-->

2 点击链接跳转至百度

image.png

Baidu百度

百度一下

2 使用 js协议 构造payload



javascript:alert("aaa")



image.png

ass

page-content'

(divid-"xssrmain'>

pclass-xssr-title请输入一个你常用的网站.1地址,我就知道你是什么人

<formmethod-'get

inputclassxssr_intype-textname-"message"

inputcassxssrsubmitytypesubmtynamesubmtluesubmt

form

hef-javascript:alertBuot;acuot阁下自己输入的1还请自己点一下吧/a)

div>

K/div>!--/.page-content-->

div>

image.png

127.0.0.1

aaa

确定


XSS之 js输出

1 输入aaa,查看源码

image.png

905

906<script>

$ms-'aaa'

907

if(Sms.1engthl-o)

908

if($ms'tmac)f

909

$(#fromjs').text(tmac确实厉害,看那小眼神..)

910

e1se

911

912/

a1ert($ms):

$C#fromjs).text(无论如何不要放弃心中所爱..')

913

914

915

7

916

917

918

919

script

920

这里发现输入的内容被放入到了js中


2 构造payload



';alert("attack xss")</script>


image.png

127.0.0.1

jsxss

确定


XSS 防范:输入做过滤,输出做转义


结语:

本人菜弟弟一个,大佬勿喷,谢谢,如果觉得个人写的还凑活,三连(点赞+关注+转发)一哈吧💪谢谢各位师傅,祝各位师傅玩的开心😊

相关文章
|
3月前
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
606 1
|
2月前
|
存储 JavaScript 前端开发
Xss跨站脚本攻击(Cross Site Script)
Xss跨站脚本攻击(Cross Site Script)
|
4月前
|
存储 JavaScript API
跨站脚本(XSS)
【8月更文挑战第17天】
34 3
|
4月前
|
监控 安全 JavaScript
对跨站脚本攻击(XSS)的防御策略?
【8月更文挑战第15天】
449 1
|
4月前
|
SQL 监控 安全
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
|
1月前
|
JavaScript 安全 前端开发
同源策略如何防止 XSS 攻击?
【10月更文挑战第31天】同源策略通过对 DOM 访问、Cookie 访问、脚本执行环境和跨源网络请求等多方面的严格限制,构建了一道坚实的安全防线,有效地防止了 XSS 攻击,保护了用户在网络浏览过程中的数据安全和隐私。
103 49
|
5月前
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。
|
1月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
102 4
|
1月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
85 2
|
1月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
104 3