ASP代码审计:从源码到权限获取的深度分析

需积分: 14 2 下载量 191 浏览量 更新于2024-09-09 收藏 2.84MB PDF 举报
"Asp代码审计案例分析" 在进行Asp代码审计时,我们的目标是发现潜在的安全漏洞,以防止APT攻击(高级持续性威胁)并确保系统的安全性。本案例中,任务涉及到对一个与电网公司相关的项目进行深入审计,以获取特定的项目信息。 首先,我们了解到该电网公司的某项目可能由一家特定的开发公司负责,因此我们首先要找到这家开发公司。通过对外宣传网站,我们获取了服务器权限,并下载了源码模板。源码审计是整个过程的关键步骤,它包括对主要文件的审查,如`FuncƟon.asp`和`Startup.asp`。 `Function.asp`包含了来源验证和注入验证。由于目标服务器有WAF(Web应用防火墙),直接的注入尝试可能会被阻止,所以我们不得不放弃这一路径。同时,错误处理机制和XSS字符处理也是审计的重点,需要确保它们能有效防止跨站脚本攻击。 `Startup.asp`则涉及IIS6和IIS7 PHP版本的配置。我们需要检查当无法执行时,是否可以通过备份数据库来获取敏感数据。此外,`includehead.asp`文件用于新闻显示,而`check_si.asp`主要用于防止GET注入。在新版本中,还添加了POST注入的防护,但服务器的响应速度问题可能会影响注入测试,需要使用二分法来确定列名数。 在审计过程中,发现了越权访问漏洞。通过构造特定的referrer和参数,可以绕过权限限制。这个漏洞允许匿名上传图片,进一步可以利用此功能备份出webshell。然而,目标服务器未开启远程桌面,但我们可以通过修改注册表项(`REGADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server/vfDenyTSConnections/t REG_DWORD /d00000000/f`)来开启远程桌面连接。 一旦获得MSSQL数据库的访问权限,就可以查看在线机器并定位目标人物。通过推送payload并反弹shell,我们可以获取到目标人物的桌面截图,以确认其身份。最后,通过这种方式,我们成功地获取了目标人物的某个xls文件,完成了任务。 此案例展示了Asp代码审计的重要性,以及在遇到复杂安全环境时如何逐步分析和突破。通过深入的源码审计,我们可以识别和修复潜在的安全风险,防止数据泄露或恶意攻击。同时,这也强调了在进行系统审计时,对于不同层面的安全防护措施(如WAF、错误处理、XSS防护等)的综合理解和运用。
2013-07-31 上传
这是一款结合白盒跟黑盒的半自动化代码安全审计系统。 该版本只支持PHP,近期会加上ASPX、ASP、JSP的代码审计功能,并且实现4套规则的配置,另外还会加上自定义审计的扩展名,方便灵活审计不同脚本代码。 由于一直都比较忙,所有写的时候比较急,有很多代码还有很大的优化空间,在以后的日子我会慢慢来优化,也欢迎大家一起来优化。 修改本源码请保留最终版权Seay。 BUG反馈+规则共享+插件共享,请发送到邮箱root@cnseay.com,我会集成在下一个版本。 历史版本: 2013年7月15日 Seay源代码审计系统2.0 1.增加mysql执行监控,可以监控自定义断点后执行的所有SQL语句,方便调试SQL注入 2.更换在线升级,安装好之后下次更新可以直接在线升级,无需重新安装 3.更换皮肤,去除图片优化程序速度 4.更换mysql管理系统为HeidiSql 2013年6月18日 Seay源代码审计系统1.1 1.审计规则禁用 2.审计进度显示 3.优化正则调试、编码转换输入框 4.优化信息泄露插件扫描模式 5.修复代码查看处的一个bug 2013年6月8日 Seay源代码审计系统1.0 开发新功能: 1.高精确度自动白盒审计 2.代码高亮 3.函数查询 4.代码调试 5.函数/变量定位 6.审计报告 7.自定义规则 8.自定义编辑器 9.mysql数据库管理 10.黑盒敏感信息泄露一键审计 11.正则调试 12.多种字符编码转换 13.临时记录(可保存) 14.编辑保存文件 15.自动升级检测 16.POST数据包提交 17.自定义插件扩展功能 18.英汉互译