代码注入

安全测试:代码注入攻防

梦想与她 提交于 2019-12-03 06:50:46
四、注入WEB脚本语言 ·1.动态执行漏洞 1.1 PHP中的动态执行 PHP函数eval可用于动态执行在运行时传送给该函数的代码。下面以一个搜索功能为例,该功能允许用户保存搜索,然后在用户界面上以链接的形式动态生成这些搜索。如果用户访问该搜索功能,他们使用下面的URL:https://wahh-app.com/search.php?storedsearch=\$mysearch%3dwahh 服务器端应用程序通过动态生成变量来执行这项功能,生成的变量包含在storedsearch参数中指定的名称/值对;在当前情况下,它创建值为wahh的变量mysearch。 $Storedsearch = $_GET['storedsearch']; eval(·$storedsearch;"); 这时就可以提交专门设计的输入,由eval函数动态执行,从而在服务器端应用程序中注入任意PHP命令。分号字符可用于在单独一个参数中将几个命令链接在一起。例如,要获取文件/etc/password的内容,可以使用file_get_contents或system命令: https://wahh-app.com/search.php?storedsearch=\$mysearch%3dwahh; %20echo%20file_get_contents('\etc\passwd') https://wahh