朕终于在毕业前,摆脱了脚本小子的称号,在答辩老师面前顺利过关。凭借这朕的些许编程基础,终于做出了属于自己的一个脚本工具。
Struts2漏洞是一款经典的漏洞,Struts2框架曾爆出过很多高危漏洞。朕也是因为其经典的特性选择,此作为毕设的题目。
环境搭建使用docker搭建靶场,这里需要用到一台kail主机。
- 获取docker镜像
[root@localhost ~]# docker pull 2d8ru/struts2 Using default tag: latest Trying to pull repository docker.io/2d8ru/struts2 ... latest: Pulling from docker.io/2d8ru/struts2 40ae7ce86d93: Pull complete ef9ce992ffe4: Pull complete d0df8518230c: Pull complete 63678957352b: Pull complete 929e9da71fa4: Pull complete 96ef2abace74: Pull complete ee465bb23abd: Pull complete 7389ed23519a: Pull complete 01dc7810fc78: Pull complete 4afd531fccde: Pull complete 0e8cb6ef92d5: Pull complete 141c5a896ef9: Pull complete e1b65a5bf785: Pull complete f0cd1207fcb8: Pull complete ac0df1e10db5: Pull complete b4710c02ed19: Pull complete Digest: sha256:7aa386b4b606bec5f6a7f015bab6bd1cc84169beadb2a632b6939e6e703e47db Status: Downloaded newer image for docker.io/2d8ru/struts2:latest
- 启动docker镜像:
[root@localhost ~]# docker run -d -p 8080:8080 2d8ru/struts2 48cf32032f04db57430e44f930cf330fc347cfea948ba80adadf444df441ea2d [root@localhost ~]# docker ps
- 访问:
然后每个漏洞如下:
例如S2-045
就是IP:8080/S2-045
这样访问的
例如:
#所有的URL为 url = "http://192.168.43.131:23456/S2-005/example/HelloWorld.action" url = "http://192.168.43.131:23456/S2-008/devmode.action" url = "http://192.168.43.131:23456/S2-009/ajax/example5.action" url = 'http://192.168.43.131:23456/S2-016/default.action' url = "http://192.168.43.131:23456/S2-019/example/HelloWorld.action" url = "http://192.168.43.131:23456/S2-032/memoshow.action" url = "http://192.168.43.131:23456/S2-045/orders"
工具使用截图情况
这是朕的github地址:
https://github.com/hack-paidaxing/-GUI-Struts2-
总结:
- 此工具并没有采用到多线程与线程池的并发处理,后续会继续更新工具。
- python压缩成的exe太大了
- python做的工具不太稳定,后续学习java,尝试用java写脚本



