草庐IT

实战SRC|北京、上海等27省某x电力xx中心存在存储XSS漏洞

不秃头的安全 2023-08-30 原文

实战SRC-存储XSS漏洞

不秃头的安全

我们在日常挖洞过程中,会遇到需要填写一堆个人或企业信息的页面,大多数情况下我们都会嫌麻烦,怕填写了半天最后也没挖到洞,从而忽略这种网站。其实这种网站恰恰更有可能存在漏洞,因为大多数渗透人员都嫌麻烦继而放弃,导致这种看似很安全的网站,更有可能存在漏洞。

那么接下来就带大家看一下,某网27省电力交易中心通杀的一个文件上传存储XSS漏洞是怎样挖掘到的。

一 漏洞记录

1、打开某省电力交易中心首页,点击注册功能。

2、填写账号密码信息。

3、返回登录处登录刚才注册的账号。

4、登录后就发现进入到市场成员注册页面,此时有小伙伴会问,这么多企业信息,自己又没公司,这该怎么填写?

首先我们可以使用企查查和百度搜集一些营业执照等信息,其次我们填写的信息也不一定就要通过审核才能触发漏洞,只要填写的信息看上去大致合理即可。

所以此处我们随意填写一个企业信息,并上传此次用到的漏洞利用文件即可。

​5、在工商营业执照上传处上传带有XSS代码的PDF文件。

6、上传成功后,点击预览此文件,会在服务器下载已上传的文件,并成功弹窗。

7、填写完信息后提交注册,等待审核人员中招。三小时后,Dnslog提示审核人员已触发此漏洞。

二 防御方法

前后端均检测PDF文件中是否存在恶意代码。

三 思路总结

其实小编每次挖某网的时候都会见到这个网站,但每次都放弃了,总感觉他特别安全,毕竟是全国通用的站点,怎么会有漏洞,而且之前也比较懒,看到这么多信息需要填写,直接关机睡觉了。这也导致很多漏洞都被错过,不是因为技术不到位,而是比较懒,对挖洞的认知也有所欠缺。

有的小伙伴可能还不太了解PDF XSS的制作方法,其实百度上有很多这种文件的制作教程。另外也可以使用小编已制作好的文件,其中还附赠大家一个.SVG图片的XSS文件,在图片或头像上传处提交此文件,当别人的浏览器加载你的头像或图片时就能触发此漏洞,目前各大SRC均能挖掘到此漏洞,成功几率炒鸡高。在公众号回复神秘代码——“XSS利用文件”,即可下载。

四 文末闲聊

感谢各位大佬们关注-不秃头的安全,本账号为新起公众号,后续会坚持更新渗透漏洞思路分享、安全测试、好用工具分享以及挖掘SRC思路等文章,同时会组织不定期抽奖,希望能得到各位的关注与支持。

编辑:Rarry

审核:黑道饺子

有关实战SRC|北京、上海等27省某x电力xx中心存在存储XSS漏洞的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby-on-rails - rspec - 如何检查方法是否存在? - 2

    我的模型有defself.empty_building//stuffend我怎样才能对这个现有的进行rspec?,已经尝试过:describe"empty_building"dosubject{Building.new}it{shouldrespond_to:empty_building}endbutgetting:Failure/Error:it{shouldrespond_to:empty_building}expected#torespondto:empty_building 最佳答案 你有一个类方法self.empty_bu

  3. ruby - Rack:如何将 URL 存储为变量? - 2

    我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.

  4. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  5. ruby-on-rails - ActiveRecord 的 find_or_create* 方法是否存在根本性缺陷? - 2

    有几种方法:first_or_create_by、find_or_create_by等,它们的工作原理是:与数据库对话以尝试找到我们想要的东西如果我们找不到,就自己做保存到数据库显然,并发调用这些方法可能会使两个线程都找不到它们想要的东西,并且在第3步中一个线程会意外失败。似乎更好的解决方案是,创建或查找即:提前在您的数据库中创建合理的唯一性约束。如果你想保存一些东西,就保存它如果有效,那就太好了。如果它因为RecordNotUnique异常而无法工作,它已经存在,太好了,加载它那么在什么情况下我想使用Rails内置的东西而不是我自己的(看起来更可靠)create_or_find?

  6. ruby-on-rails - 为什么在 Rails 5.1.1 中删除了 session 存储初始化程序 - 2

    我去了这个website查看Rails5.0.0和Rails5.1.1之间的区别为什么5.1.1不再包含:config/initializers/session_store.rb?谢谢 最佳答案 这是删除它的提交:Setupdefaultsessionstoreinternally,nolongerthroughanapplicationinitializer总而言之,新应用没有该初始化器,session存储默认设置为cookie存储。即与在该初始值设定项的生成版本中指定的值相同。 关于

  7. ruby-on-rails - 尝试设置 Amazon 的 S3 存储桶 : 403 Forbidden error & setting permissions - 2

    我正在关注Hartl的railstutorial.org并已到达11.4.4:Imageuploadinproduction.我做了什么:注册亚马逊网络服务在AmazonIdentityandAccessManagement中,我创建了一个用户。用户创建成功。在AmazonS3中,我创建了一个新存储桶。设置新存储桶的权限:权限:本教程指示“授予上一步创建的用户读写权限”。但是,在存储桶的“权限”下,未提及新用户名。我只能在每个人、经过身份验证的用户、日志传送、我和亚马逊似乎根据我的名字+数字创建的用户名之间进行选择。我已经通过选择经过身份验证的用户并选中了上传/删除和查看权限的框(而不

  8. ruby - 如何打印出 Mechanized 存储的 cookie? - 2

    我正在使用mechanize登录网站,然后检索页面。我遇到了一些问题,我怀疑这是由于cookie中的某些值造成的。当Mechanize登录网站时,我假设它存储了cookie。如何通过Mechanize打印出存储在cookie中的所有数据? 最佳答案 代理有一个cookie方法。agent=Mechanize.newpage=agent.get("http://www.google.com/")agent.cookiesagent.cookies.to_scookie返回一个Mechanize::Cookiesobject

  9. ruby-on-rails - 闪存消息存储在哪里? - 2

    我以为它们存储在cookie中-但不,检查cookie没有任何结果。session也不存储它们。那么,我在哪里可以找到它们?我需要这个来直接设置它们(而不是通过flashhash)。 最佳答案 它们存储在inyoursessionstore.自rails2.0以来的默认设置是cookie存储,但请检查config/initializers/session_store.rb以检查您是否使用默认设置以外的东西。 关于ruby-on-rails-闪存消息存储在哪里?,我们在StackOverf

  10. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

随机推荐