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

网站建设_网站设计 app制作排名

网站建设_网站设计 app制作,排名,做日语网站,网站备案备注提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…
提示

1.不是SQL注入 2.需要找关键源码

思路

进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了

先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfshow

其关键位置在oReq.open这里,显示的是以POST方法,请求check.php页面,并且传入值token=变量token然后接上php://input

直接访问check.php页面,可以看到一个Josn页面,我们直接按照页面源码中的提示来访问一下

提示md5 error

然后利用目录扫描工具,扫一下网站,看看有什么东西

发现扫到了一千多条东西,太多了一个一个看得看到啥时候

直接导出,然后在notepad++中查看,查找一下需要的后缀名

发现挺多zip文件的,但有很多一看就不是关键信息的就没管,剩下的一个一个试,发现web.zip可以下载,其他的都是闪一下就没了,啥也没下

打开web.zip,发现里面有一个check.php.bak的文件,这明显就是check.php页面的备份文件,打开这个文件看一下

对源码分析:

先进行if判断,也就是我们输入的token需要和md5(date("i")相同

  • md5不用说,date("i")就是获得当前的分钟

    • 扩展一下,date("m")就是获得当前的月
    • date("d")是获得当前的日
    • date("h")获得当前的小时
    • date("s")获得当前的秒

所以我们输入的token就是需要是当前的分钟进行md5加密

接着往下分析,看到了$receiveFile变量接收了一个字符串flag.dat,然后被传入了receiveStreamFile方法中

receiveStreamFile方法中会先进行判断,判断$GLOBALS['HTTP_RAW_POST_DATA']是否为空

优先从$GLOBALS['HTTP_RAW_POST_DATA']​ 获取原始数据,如果为空,那么就利用php://input​流获取POST数据,然后将数据写入$receiveFile指定的文件,也就是flag.dat

然后返回值,进行if判断,我们写入的文件和服务器存放发文件key.dat的md5值需要一样,但哈希值不需要一样,总所周知,可以利用工具制造一个md5一样的文件,但哈希都是独一无二的,所以就可以很轻松过了这个检测

在源码中,我们也是知道了有一个ket.dat文件直接访问这个文件进行下载,然后我将下载的key放入了先前解压的web.zip文件夹中了

然后就是利用我刚才说的工具,生成一个md5相同的文件,直接点着key.dat拖向fastcoll_v1.0.0.5.exe就生成了两个key_msg文件,这两个文件的md5是一样的

Exp

然后编写脚本

import requests
import datetime
import threading
import hashlibt = datetime.datetime.now().minute			#获取当前分钟
token = hashlib.md5(str(t).encode()).hexdigest()			#将获取的分钟进行md5加密
re = ''			#设置全局变量,用于接收返回的页面源码
url = "http://728a1bb2-c338-43b9-9c52-5df4302818b3.challenge.ctf.show/"
def szRequest(url, flag):url = f"{url}check.php?token={token}&php://input"global res = requests.post(url, data=flag)		#利用POST请求,请求数据就是传入的key和datare = s.textwith open('key.dat', 'rb') as f:				#读取下载的keykey = f.read()
with open('key_msg1.dat', 'rb') as fi:			#读取利用工具生成的文件,生成的文件1或文件2都可以data = fi.read()
while True:threading.Thread(target=szRequest, args=(url, key)).start()			#python中的多线程模块threading.Thread(target=szRequest, args=(url, data)).start()		#threading.Thread()创建线程对象,target=szRequest,指定当前线程要执行的函数,args=(url, data)是执行函数传入的参数,.start()是开始执行if "ctfshow" in re:			print(re)			#如果返回的页面源码中有ctfshow字符串,就打印并退出break

运行结果:


最后多说一句

真正想进步的你,其实只缺一个东西:一份别人实践过、你能直接借鉴的内容体系。

我分享的这个学习圈,里面不仅有上千份SRC报告、漏洞复盘材料,还有2个T的各类学习资料,漏洞靶场,网课资源和常见面试题资料包

有了方向,有了范例,才有可能走得更快。

欢迎各位师傅加入知识大陆的帮会,我们一起进步,共同学习

加入帮会-发现更有料的网安圈

http://www.dtcms.com/wzjs/177181.html

相关文章:

  • 网站建设策划模板下载成都网站seo外包
  • 重庆网站建设多少钱网络优化工程师是做什么的
  • 域名解析网站建设排名优化seo
  • 做网站需要会语言吗株洲做网站
  • 东莞网站优化方案个人网页设计制作网站模板
  • 经纪人做网站技巧百度网站排名怎么提高
  • 意识形态 加强网站建设seo分析与优化实训心得
  • 福利站wordpress营销网站方案设计
  • 西安网站建设培训学校百度的人工客服电话
  • 高端网站建设域名注册长沙seo网络公司
  • 网络培训心得体会1000字点金推广优化公司
  • 珠海蓝迪装饰设计工程有限公司排名优化公司哪家效果好
  • dw做的网站解压后为什么没了短期职业技能培训班
  • wordpress输出响应式图片大小宁波seo教程推广平台
  • 宁津华企动力做网站的电话多少怎么知道自己的域名
  • 长沙做网站美工的公司网站推广优化的公司
  • 酒店网站建设功能茂名seo顾问服务
  • 品牌网站建设公司推荐域名收录提交入口
  • 建设免费网站登录网址百度竞价托管哪家好
  • 网页设计制作个人网站网站推广技巧和方法
  • 工作作风方面存在的问题及整改措施2023引擎优化是什么意思
  • 可口可乐网站建设的目的武汉百度快照优化排名
  • 木马工业设计公司电子商务seo名词解释
  • 建设银行手机银行官方网站天津优化加盟
  • pc网站案例网络优化器下载
  • 设计培训网站建设快速排序优化
  • 做外贸的b2b网站抖音关键词排名系统
  • 南宁公司网站建设重庆百度整站优化
  • 网站开发哪好新闻发布系统
  • 网站建设费的摊销期手机百度app最新版下载