我的同事对他的代码不安全,并且允许用户上传要在服务器上运行的SQL文件。 他剔除了文件中的任何关键词如"EXEC", "DROP", "UPDATE", "INSERT", "TRUNC"
如何利用“EXEC @sql”?
我想利用他EXEC (@sql)
我第一次尝试将与'EXEXECEC (N''SELECT ''You DRDROPOPped the ball Bob!'')'
向他展示了他的方式错误,但他可能会过滤这一切都在一个循环。
有没有一种方法可以利用我的同事的代码?或者正在过滤出足够的关键词?
编辑:我让他检查他的代码。如果代码包含一个关键字,他不会执行它。我仍然试图找出如何利用二进制转换来利用这一点。
+ 1对于这样一个真棒问题。我们应该更频繁地利用我们的同事。 – 2010-09-16 22:32:07
只需给我们'URL'并记录上传! – Quassnoi 2010-09-16 22:36:31
至于你的第一次尝试:你是否告诉我们你的同事在他找到一个'EXEC'之后仍然试图执行一段上传的代码*? – Quassnoi 2010-09-16 22:41:46