1.盘点那些渗透测试中的奇淫技巧
2.phpå¦ä½è¿è¡ä»£ç (phpè¿è¡)
盘点那些渗透测试中的奇淫技巧
总结下渗透测试中的一些小技巧,仅做总结。
0x php文件包含姿势
这类姿势国外黑阔早有总结,比如包含上传的文件,当然文件可控。利用php封装协议php://input和data://,thinkphp crm源码包含post数据造成php命令执行,当然allow_url_include选项需要打开。包含log文件也是可以,当我们提交恶意代码时也会被记录,于是包含记录了恶意代码的log文件是个好主意。包含/proc/self/environ文件:这需要PHP运行作为一个具有cgion/proc伪文件的系统且PHP脚本有权访问这些伪文件。包含会话文件需要攻击者能控制会话中的任何字符串值(注入代码,例如phpinfo(),会话文件必须存放在serializedsession文件且PHP脚本能够访问会话文件(通常是/tmp/ sess_SESSIONID文件)。包含其他由php应用创建的文件,只要你能想到的goaccessiis源码分析,都可以尝试创建然后包含他,比如数据库文件,缓存文件,应用程序级别的日志。
0x .htaccess文件突破黑名单解析
因为是黑名单,自定义.htaccess上传,内容为test.jpg文件,没有扩展名,源码刻光盘内容是一句话,这个时候就成功绕过。
0x php流封装绕过截断
主要利用了PHP的一个流封装特性,可以参考PHP官方文档中的Example #3。假设存在文件包含的代码,但%无法截断,只能包含 xxxx.html.php。首先新建hello.html.php,python动态源码内容为phpinfo();然后压缩成zip,结构如下图。然后访问网址,成功包含压缩文件内的hello.html.php。把我们输入的变量和include后面的变量合起来就是zip://test.zip#hello.html.php,代表当前目录下的test.zip压缩包里面的hello.html.php,于是包含成功。
0x 通用防注入系统getshell
相信许多朋友渗透测试都遇到过这种情况,threejs贴图源码系统做了数据提交记录,通过阅读类似程序的源码得知数据记录在sqlin.asp。于是想到直接提交一句话木马,但没有成功。提交and 1= ,通过菜刀连接sqlin.php即可。
0x iis+php黑名单上传突破
在php+window+iis环境下,双引号(“>”)等价于点号(“.”),大于符号(“>”)等价于问号(“?”),小于符号(“<“)等价于星号(“*”)。虽然有这么多好玩的东西,但这特性只能用于文件上传时覆盖已知的文件,于是这特性便略显鸡肋。但通过一系列的测试发现,P牛已经给出完美利用的方法。首先利用特殊办法生成一个php文件,然后再利用该特性将文件覆盖。可问题来了,怎样生成php文件呢?如果可以直接生成php文件的话,干嘛还要利用那什么特性?别急,办法总是有的。我们知道在文件上传时,我们往往会考虑到文件名截断,如%等。对!有的人可能还会用冒号(“:”)去截断,如:bypass.php:jpg。但你知道吗?冒号截断产生的文件是空白的,里面并不会有任何的内容。虽然生成的php文件里面没有内容,但是php文件总生成了吧,所以我们可以结合上面所说的特性完美成功利用。按照上面提供的思路,实现本地测试地址:mand,array[optional]$output,int[optional]
$return_value)
exec("dir",$outPut);print_r($outPut);
说æï¼ååºåPHPæ§è¡æ件å级ç®å½ä¸çææç®å½åæ件信æ¯ã
ç¥è¯ç¹ï¼execæ§è¡ç³»ç»å¤é¨å½ä»¤æ¶ä¸ä¼è¾åºç»æï¼èæ¯è¿åç»æçæåä¸è¡ï¼å¦æä½ æ³å¾å°ç»æä½ å¯ä»¥ä½¿ç¨ç¬¬äºä¸ªåæ°ï¼è®©å ¶è¾åºå°æå®çæ°ç»ï¼æ¤æ°ç»ä¸ä¸ªè®°å½ä»£è¡¨è¾åºçä¸è¡ï¼å³å¦æè¾åºç»ææè¡ï¼åè¿ä¸ªæ°ç»å°±ææ¡è®°å½ï¼æ以å¦æä½ éè¦åå¤è¾åºè°ç¨ä¸åç³»ç»å¤é¨å½ä»¤çç»æï¼ä½ æ好å¨è¾åºæ¯ä¸æ¡ç³»ç»å¤é¨å½ä»¤ç»ææ¶æ¸ 空è¿ä¸ªæ°ç»ï¼ä»¥é²æ··ä¹±ã第ä¸ä¸ªåæ°ç¨æ¥åå¾å½ä»¤æ§è¡çç¶æç ï¼é常æ§è¡æåé½æ¯è¿å0ã
æ¹æ³äºï¼ä½¿ç¨systemå½æ°æ§è¡ç³»ç»å¤é¨å½ä»¤
ååï¼functionsystem(string$command,int[optional]$return_value)
1
2
3
system("dir");ç¥è¯ç¹ï¼systemåexecçåºå«å¨äºsystemå¨æ§è¡ç³»ç»å¤é¨å½ä»¤æ¶ï¼ç´æ¥å°ç»æè¾åºå°æ¸¸è§å¨ï¼å¦ææ§è¡å½ä»¤æååè¿åtrueï¼å¦åè¿åfalseã第äºä¸ªåæ°ä¸exec第ä¸ä¸ªåæ°å«ä¹ä¸æ ·ã
æ¹æ³ä¸ï¼ä½¿ç¨å½æ°passthruæ§è¡ç³»ç»å¤é¨å½ä»¤
ååï¼functionpassthru(string$command,int[optional]$return_value)
ç¥è¯ç¹ï¼passthruä¸systemçåºå«ï¼passthruç´æ¥å°ç»æè¾åºå°æ¸¸è§å¨ï¼ä¸è¿åä»»ä½å¼ï¼ä¸å ¶å¯ä»¥è¾åºäºè¿å¶ï¼æ¯å¦å¾åæ°æ®ã
æ¹æ³åï¼åæå·`ï¼å~å¨åä¸ä¸ªé®ï¼æ§è¡ç³»ç»å¤é¨å½ä»¤
1
2
3
echo`dir`;ç¥è¯ç¹ï¼å¨ä½¿ç¨è¿ç§æ¹æ³æ§è¡ç³»ç»å¤é¨å½ä»¤æ¶ï¼ä½ è¦ç¡®ä¿shell_execå½æ°å¯ç¨ï¼å¦åæ¯æ æ³ä½¿ç¨è¿ç§åæå·æ§è¡ç³»ç»å¤é¨å½ä»¤çã
ä¸è½½çphpæºç æä¹è¿è¡å¢?ä¸ä¸ªå¥½çæºç åç¨å¿çå¼åè æ¯ä¸ä¼è®©ä½ æåºä½¿ç¨é®é¢çï¼ä¸è¬é½ä¼æ详ç»ç说æææ¡£è¿è¡ä»ç»ã
é«è´¨é带说æææ¡£çæºç è·åæ¹æ³ï¼ï¼å ä¸è½½ï¼çæºç éæ±ï¼åæ建ç¯å¢å¾éè¦ï¼ï¼
1ãæå¼ç¾åº¦ï¼æç´¢âPopMars-ä¸æ³¨å ±äº«èµæºâå è´¹æç¨â
2ãæå¼å ¶ä¸åå为âPopMars-ä¸æ³¨å ±äº«èµæºâå è´¹æç¨|Phpæºç å è´¹ä¸è½½|IOSAppåºç¨...âçç½ç«
3ãéé¢å¯ä»¥æ¾å°å¤§éçphpæºç
åå¤ï¼æ¥çæºç éé¢ç说ææ件ï¼æºç è¿è¡çåºæ¬æ åµéæ±ãå¨æ¬æºå®è£ ç¸åºçç¯å¢å³å¯è¿è¡ãä¾å¦PHP7.0/Mysql5.5ççãå ³äºæ¬æºçç¯å¢ä½ å¯ä»¥ä½¿ç¨ç±»ä¼¼xamppçä¸é®é¨ç½²å
ä¸è½½çphpæºç æä¹è¿è¡?
è¦æ³è¿è¡PHP代ç ï¼ä½ å¾ç°æä¸ä¸ªæå¡å¨ç¯å¢ã
1.å¨ç½ä¸èªå·±ä¸è½½ä¸ä¸ªxamppï¼ç¶åå®è£ ã
2.æä½ ç代ç æ¾å°xampp\htdocs\éé¢ã
3.æå¼æµè§å¨ï¼è¾å ¥.0.0.1/æ件å.php
æ¯å¦ï¼ä½ å¾æ件æ个å«index.phpçï¼ç´æ¥è¾å ¥.0.0.1/index.php访é®ï¼å°±å¼å§æ§è¡äºã
4.建议å¨htdocséé¢æ·»å æ件夹ï¼é²æ¢æ··ä¹±ã
5.ä¹å¯ä»¥å°é»è®¤çhtdocsç®å½æ´æ¹å°å ¶ä»ä½ç½®ï¼è¿ä¸ªç½ä¸ä»ç»å¾å¤ã
ææ ·å¨æ¬å°è¿è¡PHP1ãé¦å éè¦å¨çµèä¸å®è£ PHPstudy软件ånotepadè¿ä¸¤ä¸ªä»£ç ç¼è¾è½¯ä»¶ï¼å¦ææ¾å°å¯ä»¥ä»£æ¿çå°±ç¨ä½ é£ä»£æ¿çï¼ï¼å¦å¾æ示红è²ç®å¤´æ示ï¼
2ãæ¥ä¸æ¥ç´æ¥è¿è¡PHPstudyï¼ç¹å»çº¢è²ç®å¤´ææçå¯å¨ï¼å½å·¦ä¾§ä¸¤ä¸ªè±æåè¯lightdåmysqlåé¢æ¾ç¤ºä¸¤ä¸ªç»¿ç¹æ¶ï¼è¯´æPHPstudyå·²ç»å¨çµèä¸æåè¿è¡ã
3ãéæ©å³ä¾§å± ä¸ç?âphpçæ¬âå°è¿å ¥ä¸å¾çé¢ï¼æå¡å¨éApacheå³å¯ã
4ãéæ©å¥½ä¹åï¼å¨å¼¹åºçphpstudy设置ä¸ï¼éæ©ç«¯å£å¸¸è§è®¾ç½®ã
5ãå¨â端å£æ£æµâå¤ï¼æ¥çæå¡å¨ç端å£æ¯å¦è¢«å ç¨ãç½ç«ç¼å好以åå°±æ¾ç½®å¨ç½ç«ç®å½ä¸ã
6ãæå¡å¨æ设å®æãæ°å»ºä¸ä¸ªææ¡£å¦åå¨ä¸é¢çç®å½éï¼æ件åä¿å为index.phpï¼èªç±åæ¥ï¼ãç¶ååä¸ä¸ªä½ 认为æç®åçç½é¡µè¿è¡ä¿åã
7ãå¨æµè§å¨ç½åå¤è¾å ¥.0.0.1ï¼å³å¯çå°åç¼åçç½ç«ä¸»é¡µï¼å³php代ç è¿è¡çææã