N1BOOK

[第一章 web入门]常见的搜集:

dirsearch或者扫描一下,扫描出几个文件。dirsearch扫描命令:

./dirsearch -u 网址 -e *

扫出来结果为:
在这里插入图片描述访问robots.txt得到目的网址
在这里插入图片描述继续访问,得到一部分flag
在这里插入图片描述

访问index.php~,得到一部分flag
在这里插入图片描述访问/.index.php.swp,把该文件下载下来
在kali种使用命令 vim r 文件名 进行恢复
发现第三部分flag
在这里插入图片描述

[第一章 web入门]粗心的小李

题目提示说是git,应该是git源码泄露,使用Githack下载下来即可
命令是

python2 /root/桌面/GitHack/GitHack.py http://aa50e77c-62f5-4825-8278-d04fa727b305.node4.buuoj.cn/.git

在这里插入图片描述下载下来后打开即可找到flag
在这里插入图片描述

[第一章 web入门]SQL注入

是一道简单的sql注入题,单引号包裹,一共有3列
在这里插入图片描述查看回显点
在这里插入图片描述查看当前数据库名
在这里插入图片描述查询数据库中的表
在这里插入图片描述查询fl4g表的列名
在这里插入图片描述查询字段数据
在这里插入图片描述

[第一章 web入门]SQL注入2

这道题考察的是报错注入,使用的xpath报错注入。其中还过滤了select,不过使用大写的即可绕过。最好在url后面加上**?tips=1**。会有提示,这样容易做点。
在这里插入图片描述后面的和语句和前面一题的基本上都一样,不再重复,最后flag为
在这里插入图片描述

[第一章 web入门]afr_1

这道题考察是文件读取,主要是利用了php伪协议的知识
php伪协议详细链接

https://www.cnblogs.com/zzjdbk/p/13030717.html

利用伪协议中的filter进行读取,并且读取的是base64编码后的内容,因为直接读取的话会直接执行其中的php代码,没有回显
读取的payload=php://filter/convert.base64-encode/resource=flag
得到一串base64编码
在这里插入图片描述解码得到flag
在这里插入图片描述

[第一章 web入门]afr_2

这道题考察的是目录穿越漏洞,使用../来进行目录穿越,题目的源码有一个img目录,尝试访问该目录
在这里插入图片描述发现可以正常访问,访问后进行目录穿越
在这里插入图片描述看到flag,下载下来,拿到flag
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/05a1fbc4227fbc749c30ab4d1da0e7e0.png

[第一章 web入门]afr_3

给出一个输入框
在这里插入图片描述随机输入执行后,跳转到另一个页面
在这里插入图片描述点击article,继续跳转
在这里插入图片描述看到有get传参,尝试目录跳转
在这里插入图片描述尝试读取flag,提示没有权限
在这里插入图片描述进行fuzz一下,发现能读取其中一个文件的内容,该文件存放当前系统执行命令
在这里插入图片描述看提示说后台运行的应该是py的web服务器,尝试读取该文件
payload:name=../../../../../proc/self/cwd/server.py
原理是使用proc指定self代表当前进程,然后cwd指向运行的文server.py。
在这里插入图片描述看到运行的应该是flask框架,发现运行了key.py和flag.py文件,并且参数n1code存在ssti
在这里插入图片描述尝试读取这两个文件,读取flag.py文件,发现没有权限
在这里插入图片描述读取key.py文件,给出了key的值
在这里插入图片描述下面使用flask_session_cookie_manager3生成payload,由于还要安装具体的工具,这里不再演示。
最后伪造的cooki为:

.eJwdikEKgCAQAL8SXlYvQl2CviKxbGoRmCtZhxD_nnUbZqaI2Ft2XkyiFACNaAPljNjoOBnRDHPDfC-_961IZcb-k3vcr3_cAi8UWjLAGWadOPkowdLVrYE2nR5Q-vTkpKpV1BcrHygP.YD97iA.kUHfV05dXGFmHNS5bumL3yu4J2E

不知道为什么打过去后没反应0…

[第二章 web进阶]SSRF Training

是一道 代码审计的题

 <?php 
highlight_file(__FILE__);
function check_inner_ip($url) 
{ 
    $match_result=preg_match('/^(http|https)?:\/\/.*(\/)?.*$/',$url); 
    if (!$match_result) 
    { 
        die('url fomat error'); 
    } 
    try 
    { 
        $url_parse=parse_url($url); 
    } 
    catch(Exception $e) 
    { 
        die('url fomat error'); 
        return false; 
    } 
    $hostname=$url_parse['host']; 
    $ip=gethostbyname($hostname); 
    $int_ip=ip2long($ip); 
    return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16; 
} 

function safe_request_url($url) 
{ 
     
    if (check_inner_ip($url)) 
    { 
        echo $url.' is inner ip'; 
    } 
    else 
    {
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $url); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_HEADER, 0); 
        $output = curl_exec($ch); 
        $result_info = curl_getinfo($ch); 
        if ($result_info['redirect_url']) 
        { 
            safe_request_url($result_info['redirect_url']); 
        } 
        curl_close($ch); 
        var_dump($output); 
    } 
     
} 

$url = $_GET['url']; 
if(!empty($url)){ 
    safe_request_url($url); 
} 

?> 

依次看就行,涉及到的几个函数如下
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述wp里给出的payload=http://a:@127.0.0.1:80@baidu.com
这里check_inner_ip函数会把baidu.com解析为host。从而绕过该函数的判断。但是curl函数则会把127.0.0.1当作要请求资源的url。这种url格式是存在的,只要用于http basic中
在这里插入图片描述在这里插入图片描述最后得到flag
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值