【完美解决】WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) 完美解决:WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) 的问题罗列了五种可能的情况,提供了五种解决方法
[GXYCTF2019]Ping Ping Ping - RCE(空格、关键字绕过[3种方式]) /?ip=|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){ echo preg_match("/\&|\/|\?|\*|\|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match); die("fxck your symbol!"); } else if(preg_match("/ /", $ip)){ die("fxck your space!"); } else
[CISCN 2019初赛]Love Math - RCE(异或绕过) //听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){ show_source(__FILE__);}else{ //例子 c=20-1 $content = $_GET['c']; if (strlen($content) >= 80) { die("太长了不会算"); } $blacklist = [' ', '\t', '\r', '','\'', '"', '`', '\[', '\]
[安洵杯 2019]easy_web - RCE(关键字绕过)+md5强碰撞+逆向思维 1、F12发现提示md5 is funny ~;还有img标签中,有伪协议和base64编码2、url地址是index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd= 这就有意思了,这里的img明显是编码后的数据 但是这里有个坑,也就是考我们的逆向思维,其实解密之后我们并不需要去访问555.png,而是解密得到555.png之后,心理瞬间舒畅了,因为我们知道从555.png -> TXpVek5UTTFNbVUzTURabE5qYz0
[GXYCTF2019]BabyUpload - 文件上传+绕过(后缀&文件类型&文件内容&.htaccess) 1、上传一句话,提示“后缀不允许ph”2、修改后缀为jpg,提示“上传类型也太露骨了吧!”3、修改类型为image/jpeg,提示“诶,别蒙我啊,这标志明显还是php啊”4、修改一句话的标识为: @eval($_POST["pwd"]);5、上传.htaccess
[RoarCTF 2019]Easy Calc - RCE(函数输出)+参数waf绕过(PHP字符串解析特性) 1、参数是num,黑名单过滤空格、‘`’、中括号、缩进符等2、?num=a 报错(被waf了,说明字母会被拦截) 这里就涉及到一个知识点了:PHP的字符串解析特性 例如:/?foo=bar变成Array([foo] => “bar”)。值得注意的是,查询字符串在解析的过程中会将某些字符删除或用下划线代替。 例如:/?%20news[id%00=42会转换为Array([news_id] => 42)。 PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事
[羊城杯 2020]black cat - 文件隐写+RCE(hash_hmac绕过) 这题要post这几个参数:Black-Cat-Sheriff、One-ear、White-cat-monitor这里有3个if,首先第一个肯定绕过;第二个if里面存在hash_hmac函数,只要我们传数组就能让盐是空,即第一次加密的clandestine是空第三个因为盐是空所以只有普通加密,Black-Cat-Sheriff传对应加密结果就行特性:MD5、sha特性是无法识别数组,只要是数组加密,就会变成null,所以White-cat-monitor采用数组绕过
[PwnThyBytes 2019]Baby_SQL - 代码审计+布尔盲注+SESSION_UPLOAD_PROGRESS利用 简单的分析一下:1、index.php中,开启了session,我们通过任何方式的传参都会经过过滤函数 过滤函数:参数值必须是字符串,其次是通过addslashes函数过滤2、login.php,存在sql语句,并写了数据库是ptbctf,密码通过MD5的形式校验3、register.php,用户名不允许是admin,且长度要6
[GWCTF 2019]你的名字 - SSTI注入(waf绕过) 分析1、页面只有一个输入框,输入什么回显什么2、根据特性应该是SSTI注入解题fuzz:过滤则长度1512过滤:{{}}、class、mro、builtins、file、func_globals、import、args、eval、for、if、config、popen(将open过滤)绕过:{{}}用{%print%}、关键字要么用attr(‘cla’'ss’)|attr(‘base’)形式绕过、要么用['__clas'+'s__']形式绕过、要么用clconfigass形式绕
[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过) alicepasswd1Alicealice@fakesite.comCSAW2019bobpasswd2 Bobbob@fakesite.c
[ZJCTF 2019]NiZhuanSiWei - 伪协议+文件包含+反序列化 if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){ echo "".file_get_contents($text,'r').""; if(preg_match("/flag/",$file)){ echo "Not now!"; exit(); }else{ include($file);
[idekCTF 2022]Paywall - LFI+伪协议+filter_chain 1、file_get_contents会读取文件内容,这道题目,实际上要读的文件名是flag2、利用p传参,并且内容必须以FREE开头,strpos函数作用是获取目标字符串位置,如果FREE在开头,则pos是0。3、又因为要以FREE开头,所以普通伪协议没法写,比如php://filter/read=convert.base64-encode/resource=FREE/flag? 为了将FREE隐藏于无形中还要让他生效,我们应该采用filter_chain的方式去绕过
[极客大挑战 2020]Roamphp2-Myblog - 伪协议+文件上传+(LFI&ZIP)||(LFI&Phar)【***】 1、点击login,进入登录界面,用户名在首页提示了是longlone,密码未知,无法登录。2、点击其他地方,发现没有什么线索,唯一有的只有page这个参数。3、题目描述:Do you know the PHP pseudo-protocol? —— 意思就是跟伪协议有关系关键代码:
[天翼杯 2021]esay_eval - RCE(disabled_function绕过||AS_Redis绕过)+反序列化(大小写&wakeup绕过) 1、看代码,有unserialize函数,说明要反序列化2、有 eval($this->code) ,说明要RCE3、有preg_match_all('/"[BA]":(.*?):/s',$_REQUEST['poc'],$ret);,说明要绕过waf4、A的wakeup里面会把code置空,所以要绕过起点:B(destruct) 终点:A(call)链条:B(destruct::a=$a)-> A(call::code=命令)
[鹏城杯 2022]简单的php - 无数字字母RCE(取反)【*】 分析题目参数:code特点:1、参数值长度不能超过80 2、不能输入数字字母,仅这一点就可以排除常规做法。所以这题利用取反+RCE来做
[羊城杯 2020]easyser - 反序列化+SSRF+伪协议(绕过死亡die) F12看提示: 小胖说用个不安全的协议从我家才能进ser.php呢! !意思就是http协议就能进ser.php,回顾一下http协议咋用的?……
[UUCTF 2022 新生赛]ezpop - 反序列化(字符串逃逸)【***】 起点:UUCTF(__construct)终点:youwant(rce)链条:UUCTF(key='UUCTF';basedata=反序列化数据)-> nothing(a=&$n->b;t=$o)-> output(a=$y)-> youwant(cmd=命令)注意点:1、UUCTF的basedata用来存放反序列化数据 2、参数是data,通过post传参 3、post的参数,需要通过字符串逃逸针对此类题目,由于特点是把我们的序列化数据再次序列化……
[NISACTF 2022]popchains - 反序列化+伪协议 链条:Road_is_Long(construct->wakeup【page=$r】-> toString【string=$m】)-> Make_a_Change(construct->get【effort=$t】)-> Try_Work_Hard(invoke->append【var='php://filter/read=convert.base64-encode/resource=/flag'】)