1.DVWA Command Injection 攻略
2.DVWA 利用反射型xss漏洞**cookie
3.DVWA 简介及安装
4.DVWA 文件上传漏洞渗透实践
5.WEBshell与文件上传漏洞
6.黑客编程手把手教你编写POC
DVWA Command Injection 攻略
DVWA Command Injection漏洞详解
初级阶段的源码漏洞在于服务器对用户输入的IP参数未做充分过滤。通过查看源代码,源码我们发现服务器通过操作系统差异执行ping命令,源码但允许了未经过滤的源码命令注入,如使用"&&"。源码漏洞示例如下:
$cmd = "ping { $target}"; // 未做过滤
中级阶段,源码聊天室源码服务器尝试通过黑名单机制改进,源码移除了"&&"和";"。源码然而,源码利用"&"或 "|" 连接符,源码攻击者依旧可以绕过过滤,源码如:
$cmd = "ping -c 4 { $target}"; // 黑名单机制
高级阶段,源码虽然黑名单添加了更多字符,源码但"|"(后面带空格)依然成为漏网之鱼。源码代码示例:
$cmd = "ping -c 4 { $target}"; // 黑名单中漏掉的源码 "|"
为了完全防御此类攻击,代码引入了Anti-CSRF令牌和输入验证。例如,只有经过验证的IP地址才能执行ping操作:
if (is_valid_ip($target)) {
// 生成和检查Anti-CSRF令牌
$cmd = "ping -c 4 { $target}";
} else {
echo "ERROR: Invalid IP.";
}
// 生成Anti-CSRF令牌
generateSessionToken();
这段代码通过多重防护手段提高了防御等级,但仍需警惕攻击者可能找到的其他绕过方法。
DVWA 利用反射型xss漏洞**cookie
XSS漏洞
恶意攻击者利用网站未充分转义或过滤用户提交数据的漏洞,通过在网页中插入恶意代码,对访问者执行代码,**用户资料,进行身份操作或病毒侵害,构成XSS攻击。
反射型XSS
反射型XSS非持久化,需用户点击链接触发,常见于搜索页面,主要**用户Cookie信息。
DVWA靶场演示
调整DVWA至安全指数Low,点击xss(Reflected),网站源码买卖查看源代码。
发现使用GET方式传递name参数,未过滤检查,存在XSS漏洞。测试时,输入script标签,代码被嵌入HTML结构,触发。
尝试输入获取Cookie信息。若未显示PHPSESSID,开发者工具中修改HttpOnly属性为false,显示PHPSESSID值。
编写PHP文档LiZeyi.php,放置于/WWW目录,用于获取当前页面Cookie。
在LiZeyi.php中,编写代码,通过JS将Cookie发送到指定文件,进行URL转码。
输入URL,获取Cookie信息。在phpstudy www目录下查看,确认已获取。
打开新浏览器,修改当前页面Cookie值,访问主页,实现免密登录,显示登录用户名和级别。
DVWA 简介及安装
DVWA(Damn Vulnerable Web Application)是一个用于进行安全脆弱性评估的PHP/MySQL Web 应用,旨在为安全专家提供合法环境以测试技能和工具,色情站源码同时帮助web开发者更深入地了解Web应用的安全防范过程。DVWA包含十个攻击模块,涵盖OWASP TOP中的所有攻击漏洞,如暴力破解、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入(盲注)和反射型/存储型跨站脚本等。DVWA还允许手动调整安全级别,从低到高,包括低、中、高和不可能级别。低级设置几乎没有任何或只有基本防护,容易渗透;中级设置使用较为粗糙的防护,需要绕过;高级设置大大提高了防护级别,需要丰富经验才能成功渗透;不可能级别的源码很难被渗透,通常可作为生产环境Web防护的最佳实践参考。
安装DVWA需要准备PHP和MySQL运行环境。PHPStudy是一个集成最新LAMP和WAMP架构的PHP调试环境程序包,提供一键安装且无需配置即可使用,适合Windows和Linux操作系统。安装过程涉及下载PHPStudy和DVWA,通过解压文件、调整配置、安装VC运行库和启动PHPStudy完成。安装后,将DVWA文件夹复制到PHPStudy的文库网站源码默认Web站点根目录。
在安装过程中,需要对config.inc.php文件进行一些修改,包括配置MySQL管理员密码(默认为root,或根据实际情况调整)。然后通过浏览器访问安装页面,创建数据库并完成安装。登录页面使用默认用户admin和密码password进行登录,进入后可设置DVWA的安全级别。至此,DVWA成功安装,可用于Web渗透练习。若需要还原至初始状态,只需再次重置数据库。
DVWA 文件上传漏洞渗透实践
本文所有渗透实验均在靶机上进行,仅供学习网络安全之用,请勿攻击未经允许的网站。法律法规详情请参阅《中华人民共和国网络安全法》。
文件上传漏洞是Web应用中的常见安全问题。若Web应用未对上传内容进行合理过滤或检测,用户可通过绕过限制上传恶意程序文件,引发严重后果。
实验准备包括获取靶机IP地址并登录系统。使用Xshell操作或在Kali中配置BurpSuite与靶机交互。选择"Dann Vulnerable Web Application"作为目标。
实验中,OWASP提供了三种安全模式。尝试"low"级别,上传与PHP文件皆成功。查看源码发现代码仅设置了路径,无其他防护措施。薄荷网源码
"mid"级别添加MIME类型判断,非规定类型和大小无法上传。尝试修改类型为"image/jpeg",需借助BurpSuite代理工具拦截并修改内容类型后发送,成功上传PHP文件。
在"high"级别下,代码限制了文件后缀,仅通过修改类型无法绕过。使用BurpSuite拦截时,将文件后缀改为"shell2.php.jpg",仅能部分成功。此时需采用文件包含木马渗透方式。
通过edjpgcom工具将PHP代码嵌入到中,上传后显示成功。但单纯上传不构成木马,需执行嵌入代码进行操作。在"File Inclusion"中执行代码,检查后确认文件成功创建。
使用Xshell验证文件存在,通过蚁剑等工具进行增删改查等操作,实现对网站的全面控制。此过程展示了从低到高不同安全级别的文件上传漏洞实验过程。
总结,通过对DVWA网站的实验,深入了解了文件上传漏洞的原理、不同安全级别的应对策略及其实现方式。此实践强调了安全代码的重要性与针对性防御措施的必要性。
WEBshell与文件上传漏洞
文件上传漏洞的讲解与利用方法
首先,文件上传漏洞的产生通常源自代码中对文件上传功能的过滤不严格,或服务器解析漏洞未得到修复。攻击者可以利用这一漏洞上传任意文件,包括webshell等后门文件,从而控制整个网站。
接着,我们尝试利用无任何防护规则的文件上传漏洞。在DVWA的File Upload页面中,直接上传成功,并得到了上传路径提示。随后,通过蚁剑进行测试连接,验证了漏洞的存在。
面对前端JavaScript校验的文件上传漏洞,我们需绕过其检查。修改马儿的后缀,选择与弹出框中相同的任意一个,以绕过前端的校验。借助Burp Suite拦截修改JPG后缀为PHP,最终实现上传。
对于检测文件MIME类型的文件上传漏洞,通过File Upload2尝试上传。利用Burp Suite修改Content-Type,将其设置为“application/octet-stream”,上传失败。进一步修改为“image/jpeg”或“image/png”,尽管不修改后缀,仍能成功上传。通过欺骗服务器认为文件为JPEG或PNG类型,绕过校验。
服务端黑名单检测文件扩展名的文件上传漏洞,我们来到File Upload3。尝试直接上传马儿,收到错误提示。尝试上述绕过方法无效。通过查看源码发现,这里使用了黑名单机制,并通过foreach迭代判断是否命中。利用Windows系统搭建服务器,成功绕过大小写敏感问题,上传成功。在Windows环境下,大写或大小写混合后缀皆可通过。
最终,我们通过蚁剑测试连接,成功进入靶机的文件管理界面,验证了漏洞利用的有效性。
黑客编程手把手教你编写POC
POC(全称:Proof of concept), 中文译作概念验证。在安全界可以理解成漏洞验证程序。和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观点的一段代码。
本次漏洞使用DVWA(Damn Vulnerable Web App) 是一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。mihun渗透靶场 已经集成DVWA。
登入DVWA系统,将DVWA Security 修改为low,本次使用 Command Injection(命令注入) 模块作为此次POC验证漏洞点。
Command Injection(命令注入) 模块用于验证网络是否通畅,由于对输入的参数检查不严格导致任意命令执行。
Command Injection 模块源码
分析上面源码发现ip参数未过滤被带入命令执行函数shell_exec,利用linux/win命令特性拼接参数 sechelper.cn&whoami 伪代码如下:
使用PyCharm 创建一个python项目
使用火狐浏览器按F 开启Firebug开发者模式,选择网络 重新触发漏洞观察/share/lin...
将下载的dvwa上传至服务器,并修改配置文件。
在config/config.inc.php文件中修改数据库配置信息,填写数据库账号和密码。
访问setup.php,点击create/reset database即可。
默认账号为admin,密码为password。
嘻嘻嘻,安装过程是不是很简单呢。。
0x2 DVWA攻略
xss reflected:反射性XSS
alert(/xss/)可以直接弹窗显示。
查看源代码可以查看更多细节。
DVWA实战篇2分钟学会DVWA及如何安装
学习渗透测试时,寻找适合练习的靶机环境往往让人感到困扰。不同的漏洞通常需要不同靶机源码,而不同源码的Web架构各不相同,因此构建能够涵盖所有Web渗透技巧的靶机环境,常常需要搭建多个Web站点,这无疑增加了学习的入门门槛。 DVWA(Damn Vulnerable Web Application)是一个专门为安全专业人员提供合法练习环境的PHP/MySQL Web应用,旨在帮助Web开发者更深入地理解Web应用安全防范的过程。DVWA包含了十个攻击模块,包括但不限于:暴力破解、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入(盲注)、反射型跨站脚本、存储型跨站脚本。这些模块涵盖了OWASP TOP中的所有攻击漏洞,提供了一个一站式的Web渗透学习环境。DVWA的安全级别可手动调整,分为从低到高的五个等级:Low、Medium、High、Impossible。级别越高的防护越严格,渗透难度也越大。低级别靶机基本没有防护或只有最简单的防护,很容易被渗透;中级防护使用了一些粗糙的防护措施,需要使用者懂得绕过防护;高级防护会大大提高防护级别,一般需要丰富经验才能成功渗透;Impossible级别几乎无法渗透,常用作生产环境Web防护的最佳参考。 安装DVWA需要PHP和MySQL运行环境,PHPStudy是一个集成LAMP和WAMP架构的PHP调试环境程序,支持Windows和Linux,操作简便,无需配置即可使用。以Windows Server R2 X系统为例,通过下载PHPStudy和DVWA的源码,按照以下步骤进行安装:下载PHPStudy和DVWA的最新版本。
运行PHPStudy安装程序,选择非C盘的安装目录,如D:\phpstudy。
等待解压完成,确保未遇到安装错误,如有则需安装VC、VC运行库。
点击启动按钮,直到显示Apache和MySQL已启动,表明PHPStudy安装成功。
完成PHPStudy的安装后,开始安装DVWA:解压下载的DVWA-master.zip文件,并将文件夹重命名为DVWA。
将DVWA文件夹复制到PHPStudy的默认Web站点根目录。
在DVWA配置目录下修改config.inc.php文件,将数据库管理员密码从默认的P@ssw0rd更改为root或自定义密码。
使用浏览器访问安装页面,输入本地IP地址作为URL,通常为本机IP地址,如.../dvwa/set...。
在安装页面点击按钮创建数据库,成功后登录页面会显示提示信息。
使用默认用户admin和密码password登录,进入渗透练习页面。
设置DVWA的安全级别,通常默认为Impossible,可以根据需要调整。
至此,DVWA已经安装完毕,可以开始进行Web渗透的练习。若需还原至初始状态,只需重新创建数据库即可。