此文为个人练习笔记,包含分析过程的简单思路,不追求逻辑严谨性。
植入攻击分很多中,指令植入是比较基本的一种,只要接收的外部参数用与Exce,基本上都有这种风险。如同“Windows程序出现的问题,重启电脑一般能解决70%以上”的说法类似,合理的外部参数的过滤检查能降低90%以上的植入攻击可能。
课程介绍了Command Injection、危害及避免措施,练习的时候有两个提示,当下拉框选择的文件发生变化时(View点击后),提示信息(加粗)随之更改,
1)You are currently viewing:BasicAuthentication.help
2)ExecResults for 'cmd.exe /c type "C:\fortifySCA_test\test6_webgoat\WebGoat-5.4\tomcat\webapps\WebGoat\lesson_plans\English\BasicAuthentication.html"'
Output...
重要的是第二个,它标出了参数在后台的处理结果是用cmd查看一个文件的内容,要嵌入执行系统指令,就要与cmd.exe /c type "文件路径" 这种格式和谐相处,分析如下:
cmd.exe /c type"文件路径" 嵌入指令ipconfig后(为了匹配双引号,加了个echo指令),指令格式为:
cmd.exe /c type"文件路径" & ipconfig & echo "a",灰色背景的就是要嵌入的内容(可以用“&”连接多个指令附加到待执行cmd的后面),使用WebScarab抓包后,替换HelpView参数追加" & ipconfig & echo "a,执行失败,看来后台程序对“&”之类的符号还是做了过滤的,将" & ipconfig & echo "a编码后继续提交,OK!!!