CVE_2013_4730的簡單分析
最新
04-16
軟體名稱 :PCMan FTP Server 2.0.7
經分析 此軟體 由於 未能有效處理 FTP 命令的字元長度 進而引發棧溢出漏洞
"USER"命令即可觸發此漏洞
不過在分析之前 需要實現一個 FTP客戶端 進行通信
需要做如下幾步:
1、建立Socket 連接 連接目標 FTP
2、接受 FTP伺服器的歡迎語
3、發送"USER XXXX"登陸請求
4、接受請求結果 (此時不會走到 這一步, 因為 當發送登陸請求後 FTP服務會執行我們的ShellCode)
在這裡我們使用一款 插件 mona
使用 Mona 生成一段3000位元組長度的測試字元串 用於溢出點測試
測試
經測試 程序已經崩潰
根據結果可知 我們的溢出點在偏移2003的位置
溢出點已經確認 接下來 我們需要用mona 在目標程序空間找到一個跳板指令 "JMP ESP"
我們 使用 0x7590f7f7 這一個地址
由於 FTP 命令中不能包含 "0x00" "0x0D" "0x0A" 因此 我們根據此要求重新加密 一下 ShellCode
ShellCode代碼如下
實在不知道怎麼貼 代碼 有需要的留言
最終效果圖
PS: 在其中的 Fuzz 過程中 發送 驗證 字元串 時 有空格 時 溢出點時2003 無空格 是 2004
TAG:二進位安全分享 |