每日打卡学习笔记(一)

今天学习第十章,测试后端组件。

首先是注入操作系统命令,常用的函数有PHP中esec和ASP中的wscript.shell函数,命令可执行范围没有限制。通过Perl注入,通过ASP注入。

尝试访问http: //mdsec.net/admin/9/,连接超时,访问http: //mdsec.net/admin/2000/,emmm,好吧,我没购买实验室。

每日打卡学习笔记(一)_第1张图片

通过动态执行注入,Perl也包含了相同方式的eval函数,但它需要对分号字符URL编码(%3b)也叫参数隔离符。ASP中的execute()执行也一样。查找os命令注入漏洞,若注入时发现应用程序过滤空格,可以使用包含空白符的字段分隔符的$IFS环境变量代替。查找动态执行漏洞,PHP和Perl语言较为常见。

防止os命令注入漏洞最佳方法是完全避免直接调用操作系统命令。防止脚本注入漏洞最佳方法是避免将用户提交的输入或来自用户的数据传递给任何执行或包含参数。

关于操作文件漏洞常见的有文件路径遍历漏洞和文件包含漏洞(远程包含,本地包含)。常见过滤方法,URL编码,16位Unicode编码,双倍URL编码,超长utf-8Unicode编码等。

XML解释器用于在浏览器与前台应用程序服务器之间传送请求和相应。

注入后端HTTP请求,包括服务器http重定向(指定资源和URL)和http参数注入(HPI)(注入任意参数)。

问题:

1、 用于配置网络设备的应用程序通常包含使用正常的Web脚本API无法轻松实现的功能,如用于重新启动设备、循环访问日志文件或重新配置SNMP的功能。通常,使用一行操作系统命令可以轻松执行这些任务。因此,许多时候,应用程序开发者通过将相关用户输入直接合并到shell命令字符串中来实现这些功能

2、应用程序似乎将用户提交的输入合并到用于文件系统操作的文件路径中,并且可以通过提交专门设计的输入来访问服务器上的任意文件。因此,应尝试使用../遍历序列访问不同的目录。由于.log将被附加到输入之后,因此应尝试使用NULL字节终止文件名。请注意,出现在错误消息中的home目录可能与出现在URL中的home目录为同一目录,这为Web根目录中的项目的位置提供了线索。

3、 应用程序可能易于受到XML外部实体(XXE)注入。检索任意文件的内容的先决条件如下:

(1)应用程序使用的XML解释器必须支持外部实体;

(2)应用程序必须在其响应中回显请求中的XML元素的内容。

4、param变量的值为urlparam1,urlparam2,bodyparam,cookieparam。

5、虽然HPI攻击通常包含HPP,但这不是必须的。例如,HPI攻击可能会将某个全新的参数注入到后端请求中,以干扰应用程序的处理过程。但这种类型的攻击并不依赖于应用程序在处理多个同名参数时表现的任何特殊行为。

通常,HPP攻击可以不包括HPI,特别是在对用户输入执行多层处理的情况下。例如,一些针对Internet Explorer XSS过滤器的攻击使用HPP技巧,但并不在后端请求中注入任何参数。

6、服务器的回环IP地址有许多备选表示形式,可将其用于避开应用程序的过滤。比如:

(1)127.1

(2)127.000.0.1

(3)127.0.0.0 A类子网中的任何其他地址

(4)这些表示形式的二进制或八进制变体,如017700000001

7、针对此应用程序功能的邮件注入攻击不需要邮件服务器支持邮件中继。如果其他邮件标头包含用户可控制的输入,硬编码RCPT TO字段也无法防范邮件注入,因为攻击者可以使用另一个RCPT TO行注入另一个收件人。在这种情况下,最有效的防御是严格确认所有用户提交的输入,以确保其中不包含任何转行符或其他SMTP元字符。

你可能感兴趣的:(每日打卡学习笔记(一))