16进制的两位数转换不了 matlab_跟小黑学漏洞利用开发之16进制字符转换
Hello Every Boby!
又是一篇緩沖區漏洞利用的文章,本文我們將繼續使用vulnserver漏洞練習程序中—HTER指令,它與前一篇Unicode類似。LTER緩沖區轉換為Unicode,而HTER緩沖區轉換為十六進制,讓我們一起來看看發生這種轉換時發生什么,以及如何完成我們的漏洞利用程序。遇到有些小伙伴說進行漏洞利用開發必須使用immunity Debugger嗎?其實沒有規定必須使用,我希望在此系列更多分享關于漏洞利用思維層面東西。畢竟殊勝因緣,一通百通。
所以此篇我使用X64dbg調試器完成漏洞利用開發。
POC攻擊
讓我們用python漏洞重新創建POC,并執行它。然后再次引發崩潰,詳情如圖所示:
發送3000字節的A引發應用程序崩潰。但是,EIP被AAAAAAAA代替41414141。嘗試發送了不同的字符串到緩沖區,以進一步觀察應用程序的情況。基于此,我們觀察到緩沖區以某種方式被轉換為十六進制字節,而不是ASCII。
“二分法”分析偏移量
由于緩沖區已轉換為十六進制字節!mona pc或者使用msf-pattern命令生成的唯一字符串不起作用。因此,我使用了“二分法”確定偏移量。我沒有發送3000 A,而是花了1500 A和1500B。
如圖所示,EIP被’BBBBBBBB’,因為我們已知B有1500字節。
我們重復上述操作調整幾次,發現偏移量在2041字節;下面為修正過后的代碼。(注意:由于緩沖區已轉換為16進制,因為使用覆蓋offset字節應該是8個B,而不是之前4個。)
運行修正后的代碼EIP被8個B準確覆蓋。
至此為了將執行流程重定向到C緩沖區,我們可以使用曾經用過指令“!mona jmp -r esp”,找到包含JMP ESP地址。為此我們使用之前第一個地址即0x625011AF。(注意:由于我這使用X64dbg尋找JMP ESP。其實道理都一樣,一通百通^_^)
然后我們修改代碼,如圖所示。
運行最新修改的代碼,如圖所示;重定向有效。
16進制的shellcode
我們所需要做的下一件事,就是需要制作一個16進制的shellcode,如圖所示。
漏洞利用攻擊
我們完成最終利用代碼,運行編寫的Exploit會導致目標機器產生4444/TCP端口監聽。
連接此端口,完成Getshell。
最后需要說下kali-linux 2019.4版本確實很輕便,推薦大家更新使用。
原文鏈接:https://www.anquanke.com/post/id/194070
總結
以上是生活随笔為你收集整理的16进制的两位数转换不了 matlab_跟小黑学漏洞利用开发之16进制字符转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酷狗音乐首页直播推荐怎么关闭
- 下一篇: 女生地摊套玩具熊拆开发现摄像头 已在卧室