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

郑州做网站的专业公司公司门户网站的意义

郑州做网站的专业公司,公司门户网站的意义,广州住房和城乡建设局网站,遵义网上商城Flask_FileUpload 文件上传 先随便传个一句话木马 看看回显 果然不符合规定 而且发现改成图片什么的都不行 查看页面源代码#xff0c;发现提示 那应该就要用python命令才行 试试ls 类型要改成图片 cat /flag 好像需要密码 bp爆破 根据提示#xff0c;我们先抓包 爆破 …Flask_FileUpload 文件上传 先随便传个一句话木马 看看回显 果然不符合规定 而且发现改成图片什么的都不行 查看页面源代码发现提示 那应该就要用python命令才行 试试ls 类型要改成图片 cat /flag 好像需要密码 bp爆破 根据提示我们先抓包 爆破 得到密码12328 得到flag 文件包含  点一下 尝试直接访问 看样子要用 php://filter协议 ?filephp://filter/readconvert.base64-encode/resourceindex.php 解密 成绩查询 sql 很明显是sql注入了 bp抓包 单引号会没有信息需要加上注释符 判断列数为4 判断回显点 当前数据库 爆表 id-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemaskctf),4# 列名 id-1 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_namefl4g),4# 备份是个好习惯 md5 进去有点meng了 怎么就一串数字 因为题目说备份 我先拿dirsearch扫一下 不出所料 bak里面有东西 ?php /*** Created by PhpStorm.* User: Norse* Date: 2017/8/6* Time: 20:22 */include_once flag.php; ini_set(display_errors, 0); $str strstr($_SERVER[REQUEST_URI], ?); $str substr($str,1); $str str_replace(key,,$str); parse_str($str); echo md5($key1);echo md5($key2); if(md5($key1) md5($key2) $key1 ! $key2){echo $flag.取得flag; } ? 首先获取完整的url并且strstr将url中“”及其之后的内容赋值给str 其次substr函数将str中第二个字符下标为1及其以后的内容赋值给str 再次str_replace函数将str中的子字符串替换为也就是删除str中的内容为key的子串 然后parse_str() 函数把查询字符串解析到变量中 MD5值比较相等PHP弱类型   在PHP中 在进行比较的时候会先将字符串类型转化成相同再比较。注意如果比较一个数字和字符串 或者 比较涉及到数字内容的字符串时则字符串会被转换成数值并按照数值来进行比较。   举个小例子 var_dump(asdas0); 和 var_dump(0asdas0); 的结果都是true。   所以本题是要两MD5值的字符格式要么全部是字符要么前面数字是0。    我们都知道MD5 加密是对字符串进行加密那么如果我们传入的不是字符串而是一个数组呢 它没法进行加密返回空结果不就相等了吗   众所周知科学计数法是 *e***** ,那么要使两个数的值相等就只能是 0e***** 所以只要找到两个加密之后是 0e 开头的数字就可以绕过限制了。 QNKCDZO 240610708 s878926199a s155964671a s214587387a s214587387a /?kkeyey1240610708kkeyey2QNKCDZO game1 随便玩了一下没想到这么高笑死我了 网络分析一下 把sign里面内容解密一下 可以发现ZM后面部分被base64加密 刚好就是分数 直接打开 把分数改为99999后面base64也要修稿 cookies 打开奇奇怪怪的 分析一下 解密 结果 试一下index.php 当然也要base64加密 发现这里还有参数line 需要加上 line2也是如此 这样就可以把源码down下来 18行代码 ?phperror_reporting(0);$filebase64_decode(isset($_GET[filename])?$_GET[filename]:);$lineisset($_GET[line])?intval($_GET[line]):0;if($file) header(location:index.php?linefilenamea2V5cy50eHQ);$file_list array(0 keys.txt,1 index.php,);if(isset($_COOKIE[margin]) $_COOKIE[margin]margin){$file_list[2]keys.php;}if(in_array($file, $file_list)){$fa file($file);echo $fa[$line];}?后来还看到别人写的脚本 import requestsa19for i in range(a):url http://114.67.175.224:19674/index.php?linestr(i)filenameaW5kZXgucGhws requests.get(url)print(s.text)源码提示需要cookie满足marginmargin才能访问继续指向keys.php 还要加上cookie 查看源代码 source git 源代码 假的fag 还以为要解码 瑞士军刀没解出来 题目提示 dirsearch扫扫看 这里肯定要下载giit了 下面还有falg.txt 不出所料也是假的 wget -r http://114.67.175.224:14733/.git git reflog git reflog是显示所有的操作记录包括提交回退的操作。一般用来找出操作记录中的版本号进行回退。  命令git show(文件名) 如git show d256328 最终也是在40c6d51文件中发现flag  速度要快 查看源代码 bp抓包看看 这里居然有flag 解码 又给了falg 这应该是margin的值 然后每次抓包数字都不一样。。 是要跑脚本了 import requests import base64#后面涉及到base64解码所以要导入这个模块 urlhttp://114.67.175.224:13927 srequests.session()#保持会话 sources.get(url).headers#因为flag在头部所以需要抓取头部 resultbase64.b64decode(source[flag])#对source进行解码同时将值放在flag列表里面 resultresult.decode()将操作后的result进行转换b64decode后操作的对象 是byte类型的字符串而split函数要用str类型的flagbase64.b64decode(result.split(:)[1])用split函数进行截取因为抓包的flag有:所以从它后面进行划分 [1]代表选取第二部分从0开始因为这个函数操作类型必须是str型所以有上一步data{margin:flag}#相当于创建一个字典将margin对应flag print(s.post(url,data).text)#用post方法传入margin同时输出 你从哪里来 抓包 这里要修改referer 之前一直以为要用x-forwarded-for ,谁道用的是referer X-Forwarded-ForXFF用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。  格式如下: X-Forwarded-For: client1, proxy1, proxy2 其中的值通过一个 逗号空格 把多个IP地址区分开, 最左边client1是最原始客户端的IP地址, 代理服务器每成功收到一个请求就把请求来源IP地址添加到右边。 在上面这个例子中这个请求成功通过了三台代理服务器proxy1, proxy2 及 proxy3。请求由client1发出到达了proxy3proxy3可能是请求的终点。请求刚从client1中发出时XFF是空的请求被发往proxy1通过proxy1的时候client1被添加到XFF中之后请求被发往proxy2;通过proxy2的时候proxy1被添加到XFF中之后请求被发往proxy3通过proxy3时proxy2被添加到XFF中之后请求的的去向不明如果proxy3不是请求终点请求会被继续转发。鉴于伪造这一字段非常容易应该谨慎使用X-Forwarded-For字段。正常情况下XFF中最后一个IP地址是最后一个代理服务器的IP地址, 这通常是一个比较可靠的信息来源。 Referer  是  HTTP  请求header 的一部分当浏览器或者模拟浏览器行为向web 服务器发送请求的时候头信息里有包含 Referer  。比如我在www.sojson.com 里有一个www.baidu.com 链接那么点击这个www.baidu.com 它的header 信息里就有     Refererhttps://www.sojson.com 由此可以看出来吧。它就是表示一个来源告诉服务器该网页是从哪个页面链接过来的。 x-forwarded-for 和 referer的区别我的理解是x-forwarded-for 用来证明ip的像是“127.0.0.1”这种而referer是用来证明“域名”的 orgin和referer的区别: origin主要是用来说明最初请求是从哪里发起的 origin只用于Post请求而Referer则用于所有类型的请求 origin的方式比Referer更安全点
http://www.zqtcl.cn/news/984571/

相关文章:

  • 旅游项目网站开发ui界面设计分析
  • 企业建设网站没有服务器代理网页浏览
  • 深圳网站建设新闻网站建设营销的企业
  • 建筑设计网站软件排名工具
  • wordpress theme珠宝最适合seo的网站源码
  • 建设工程规划许可证查询网站畜牧业网站模板
  • 做网站大概要多少钱页面网站缓存如何做
  • 家电网站建设需求分析朔州网络推广
  • 陕西交通建设集团网站体检网络营销中自建网站
  • 做游戏的php网站有哪些微信商城是什么
  • wordpress memcached redux深圳网站优化方法
  • 移动商城 网站建设方法方式韩国导航地图app
  • 企业网站源码是什么瑞安企业做网站
  • 佛山深圳建网站wordpress 段代码
  • 网站备案 强制仿牌网站容易被攻击吗
  • 网站做访问追踪js特效演示网站
  • 建设网站女装名字大全宝宝投票网站怎么做
  • 江苏省建设厅网站首页天津百度网站排名优化
  • 织梦网络设计工作室网站模板镇江市精神文明建设网站
  • 网站管理工具装修公司设计软件有哪些
  • 招标网站的服务费怎么做分录什么网站做玩具的比较多
  • 青海省住房建设厅网站WordPress主题启用出现错误
  • 自己怎么建网站网站的seo 如何优化
  • 博客网站模板下载如何自学美工
  • 哪个免费建站好专业seo要多少钱
  • 做3d建模贴图找哪个网站珠海建设网站公司简介
  • 网站开发过程前端后端qq刷赞网站咋做
  • 湘潭高新区建设局网站旅游做攻略的网站有哪些
  • wordpress网站云备份网站模块插件是怎么做的
  • 郑州市城乡建设规划网站深圳十佳设计公司排名