1.DVWA Command Injection 攻略
2.DVWA 文件上传漏洞渗透实践
3.DVWA实战篇12分钟学会 SQL 注入攻击实战
4.DVWA 简介及安装
5.黑客编程手把手教你编写POC
6.DVWA实战篇2分钟学会DVWA及如何安装
DVWA Command Injection 攻略
DVWA Command Injection漏洞详解
初级阶段的源码漏洞在于服务器对用户输入的IP参数未做充分过滤。通过查看源代码,源码我们发现服务器通过操作系统差异执行ping命令,源码但允许了未经过滤的源码命令注入,如使用"&&"。源码漏洞示例如下:
$cmd = "ping { $target}"; // 未做过滤
中级阶段,源码http下载源码服务器尝试通过黑名单机制改进,源码移除了"&&"和";"。源码然而,源码利用"&"或 "|" 连接符,源码攻击者依旧可以绕过过滤,源码如:
$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 文件上传漏洞渗透实践
本文所有渗透实验均在靶机上进行,仅供学习网络安全之用,请勿攻击未经允许的网站。法律法规详情请参阅《中华人民共和国网络安全法》。红包强制分享源码
文件上传漏洞是Web应用中的常见安全问题。若Web应用未对上传内容进行合理过滤或检测,用户可通过绕过限制上传恶意程序文件,引发严重后果。
实验准备包括获取靶机IP地址并登录系统。使用Xshell操作或在Kali中配置BurpSuite与靶机交互。选择"Dann Vulnerable Web Application"作为目标。
实验中,OWASP提供了三种安全模式。尝试"low"级别,上传与PHP文件皆成功。查看源码发现代码仅设置了路径,无其他防护措施。
"mid"级别添加MIME类型判断,非规定类型和大小无法上传。尝试修改类型为"image/jpeg",需借助BurpSuite代理工具拦截并修改内容类型后发送,成功上传PHP文件。
在"high"级别下,代码限制了文件后缀,仅通过修改类型无法绕过。使用BurpSuite拦截时,html圆形头像源码将文件后缀改为"shell2.php.jpg",仅能部分成功。此时需采用文件包含木马渗透方式。
通过edjpgcom工具将PHP代码嵌入到中,上传后显示成功。但单纯上传不构成木马,需执行嵌入代码进行操作。在"File Inclusion"中执行代码,检查后确认文件成功创建。
使用Xshell验证文件存在,通过蚁剑等工具进行增删改查等操作,实现对网站的全面控制。此过程展示了从低到高不同安全级别的文件上传漏洞实验过程。
总结,通过对DVWA网站的实验,深入了解了文件上传漏洞的原理、不同安全级别的应对策略及其实现方式。此实践强调了安全代码的重要性与针对性防御措施的必要性。
DVWA实战篇分钟学会 SQL 注入攻击实战
SQL注入是一种通过操纵Web应用的查询语句来执行恶意SQL命令的攻击手段。它利用应用程序中安全漏洞,能获取或修改数据库内容。SQL注入主要分为普通注入和盲注,bootstrap管理源码下载前者通过页面显示数据逐步获取信息,后者则需猜测SQL语句的正确性。类型上,根据注入数据类型,分为数字型和字符型;提交参数方式有GET和POST等。
在低级别SQL注入实战中,通过手工注入发现DVWA网站存在漏洞。首先,在安全级别为Low的页面中,通过GET方式注入,观察报错信息判断数据库类型,然后逐步利用'字符和#符号进行测试,确定字符型注入,进一步通过联合查询获取表名、字段名和敏感信息。自动化工具SQLMap可以协助探测数据库和表信息,甚至解密密码。
在Medium级别,通过POST方式注入,需要借助工具如Burpsuite绕过防注入机制。使用HEX编码绕过mysql_real_escape_string函数,成功获取字段名和密码。cadc 开发源码
在High级别,页面结构复杂,但通过分析源码和尝试注入,仍然能发现字符型注入,并进行类似低级别的操作。Impossible级别则采用PDO技术,几乎消除了SQL注入的可能性。
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渗透练习。若需要还原至初始状态,只需再次重置数据库。
黑客编程手把手教你编写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 利用反射型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值,访问主页,实现免密登录,显示登录用户名和级别。