我的同事對他的代碼不安全,並且允許用戶上傳要在服務器上運行的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