{"id":479741,"date":"2023-08-09T10:43:58","date_gmt":"2023-08-09T10:43:58","guid":{"rendered":""},"modified":"2023-09-05T11:19:27","modified_gmt":"2023-09-05T11:19:27","slug":"ysoserial","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/cn\/wiki\/ysoserial\/","title":{"rendered":"\u4f0a\u7d22\u5e8f\u5217"},"content":{"rendered":"<p>\u5173\u4e8e Ysoserial \u7684\u7b80\u8981\u4fe1\u606f<\/p>\n<p>Ysoserial \u662f\u4e00\u4e2a\u6982\u5ff5\u9a8c\u8bc1\u5de5\u5177\uff0c\u7528\u4e8e\u751f\u6210\u5229\u7528 Java \u5bf9\u8c61\u53cd\u5e8f\u5217\u5316\u6f0f\u6d1e\u7684\u6709\u6548\u8d1f\u8f7d\u3002\u672c\u8d28\u4e0a\uff0c\u8be5\u5de5\u5177\u4f7f\u653b\u51fb\u8005\u80fd\u591f\u5728\u6613\u53d7\u653b\u51fb\u7684\u7cfb\u7edf\u4e2d\u6267\u884c\u4efb\u610f\u4ee3\u7801\uff0c\u4ece\u800c\u5bfc\u81f4\u4e25\u91cd\u7684\u5b89\u5168\u5a01\u80c1\u3002\u6b64\u673a\u5236\u5bf9\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u548c\u5e73\u53f0\u90fd\u6709\u5f71\u54cd\uff0c\u56e0\u6b64\u4e86\u89e3\u548c\u6253\u51fb\u5b83\u5bf9\u4e8e\u5b89\u5168\u793e\u533a\u81f3\u5173\u91cd\u8981\u3002<\/p>\n<h2>Ysoserial \u7684\u5386\u53f2<\/h2>\n<p>Ysoserial \u7684\u8d77\u6e90\u5386\u53f2\u4ee5\u53ca\u5bf9\u5b83\u7684\u9996\u6b21\u63d0\u53ca\u3002<\/p>\n<p>Ysoserial \u7684\u521b\u5efa\u662f\u4e3a\u4e86\u8bf4\u660e\u4e0d\u5b89\u5168\u7684 Java \u53cd\u5e8f\u5217\u5316\u7684\u5371\u9669\uff0c\u8fd9\u4e2a\u95ee\u9898\u5728\u63a8\u51fa\u4e4b\u524d\u4e00\u76f4\u88ab\u4eba\u4eec\u5ffd\u89c6\u3002Chris Frohoff \u548c Gabriel Lawrence \u5728 2015 \u5e74\u7684 AppSecCali \u5b89\u5168\u4f1a\u8bae\u4e0a\u9996\u6b21\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u8fd9\u4e9b\u7f3a\u9677\uff0c\u5e76\u4ecb\u7ecd\u4e86 Ysoserial \u4f5c\u4e3a\u6982\u5ff5\u9a8c\u8bc1\u5de5\u5177\u3002\u8fd9\u4e00\u53d1\u73b0\u4ee4\u4eba\u9707\u60ca\uff0c\u56e0\u4e3a\u5b83\u66b4\u9732\u4e86\u6d41\u884c\u7684 Java \u6846\u67b6\u3001\u5e94\u7528\u670d\u52a1\u5668\u751a\u81f3\u81ea\u5b9a\u4e49\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u6f5c\u5728\u6f0f\u6d1e\u3002<\/p>\n<h2>\u6709\u5173 Ysoserial \u7684\u8be6\u7ec6\u4fe1\u606f<\/h2>\n<p>\u6269\u5c55\u4e3b\u9898 Ysoserial\u3002<\/p>\n<p>Ysoserial \u4e0d\u4ec5\u4ec5\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u5de5\u5177\uff1b\u5b83\u5411 Java \u793e\u533a\u53d1\u51fa\u4e86\u8b66\u544a\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u4e0e\u4e0d\u5b89\u5168\u7684\u53cd\u5e8f\u5217\u5316\u76f8\u5173\u7684\u56fa\u6709\u98ce\u9669\u3002\u8be5\u5e93\u5305\u542b\u4e00\u7ec4\u9488\u5bf9\u5df2\u77e5\u6613\u53d7\u653b\u51fb\u5e93\u7684\u6f0f\u6d1e\uff0c\u6bcf\u4e2a\u6f0f\u6d1e\u90fd\u4f1a\u751f\u6210\u7279\u5b9a\u7684\u6709\u6548\u8f7d\u8377\u3002<\/p>\n<p>\u4e0b\u9762\u8ba9\u6211\u4eec\u66f4\u6df1\u5165\u5730\u4e86\u89e3\u4e00\u4e0b\u5b83\u7684\u5de5\u4f5c\u539f\u7406\uff1a<\/p>\n<ul>\n<li><strong>\u53cd\u5e8f\u5217\u5316<\/strong>\uff1a\u5c06\u4e00\u7cfb\u5217\u5b57\u8282\u8f6c\u6362\u4e3a Java \u5bf9\u8c61\u3002<\/li>\n<li><strong>\u6709\u6548\u8f7d\u8377<\/strong>\uff1a\u4e00\u79cd\u7279\u5236\u7684\u5e8f\u5217\uff0c\u5f53\u53cd\u5e8f\u5217\u5316\u65f6\uff0c\u4f1a\u5bfc\u81f4\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c (RCE)\u3002<\/li>\n<li><strong>\u5f00\u53d1<\/strong>\uff1a\u5229\u7528\u6709\u6548\u8f7d\u8377\u5728\u6613\u53d7\u653b\u51fb\u7684\u7cfb\u7edf\u4e0a\u6267\u884c\u4efb\u610f\u547d\u4ee4\u3002<\/li>\n<\/ul>\n<h2>Ysoserial \u7684\u5185\u90e8\u7ed3\u6784<\/h2>\n<p>Ysoserial \u7684\u5de5\u4f5c\u539f\u7406\u3002<\/p>\n<p>Ysoserial \u7684\u5de5\u4f5c\u539f\u7406\u662f\u5229\u7528 Java \u5904\u7406\u5e8f\u5217\u5316\u5bf9\u8c61\u7684\u65b9\u5f0f\u3002\u5f53\u5e94\u7528\u7a0b\u5e8f\u5728\u672a\u9a8c\u8bc1\u5176\u5185\u5bb9\u7684\u60c5\u51b5\u4e0b\u53cd\u5e8f\u5217\u5316\u5bf9\u8c61\u65f6\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u64cd\u7eb5\u5b83\u6765\u5b9e\u73b0\u4efb\u610f\u4ee3\u7801\u6267\u884c\u3002\u5185\u90e8\u7ed3\u6784\u6d89\u53ca\uff1a<\/p>\n<ol>\n<li><strong>\u9009\u62e9\u5c0f\u5de5\u5177<\/strong>\uff1a\u6709\u6548\u8f7d\u8377\u662f\u4f7f\u7528\u5df2\u77e5\u7684\u6613\u53d7\u653b\u51fb\u7684\u7c7b\u522b\uff08\u79f0\u4e3a\u5c0f\u5de5\u5177\uff09\u6784\u5efa\u7684\u3002<\/li>\n<li><strong>\u5236\u4f5c\u6709\u6548\u8f7d\u8377<\/strong>\uff1a\u653b\u51fb\u8005\u914d\u7f6e\u6709\u6548\u8f7d\u8377\u6765\u6267\u884c\u7279\u5b9a\u547d\u4ee4\u3002<\/li>\n<li><strong>\u5e8f\u5217\u5316<\/strong>\uff1a\u6709\u6548\u8f7d\u8377\u88ab\u5e8f\u5217\u5316\u4e3a\u5b57\u8282\u5e8f\u5217\u3002<\/li>\n<li><strong>\u6ce8\u5c04<\/strong>\uff1a\u5e8f\u5217\u5316\u7684\u5bf9\u8c61\u88ab\u53d1\u9001\u5230\u5b58\u5728\u6f0f\u6d1e\u7684\u5e94\u7528\u7a0b\u5e8f\u3002<\/li>\n<li><strong>\u53cd\u5e8f\u5217\u5316<\/strong>\uff1a\u5e94\u7528\u7a0b\u5e8f\u53cd\u5e8f\u5217\u5316\u5bf9\u8c61\uff0c\u65e0\u610f\u4e2d\u6267\u884c\u653b\u51fb\u8005\u7684\u547d\u4ee4\u3002<\/li>\n<\/ol>\n<h2>Ysoserial \u4e3b\u8981\u529f\u80fd\u5206\u6790<\/h2>\n<p>Ysoserial \u7684\u4e3b\u8981\u529f\u80fd\u5305\u62ec\uff1a<\/p>\n<ul>\n<li><strong>\u7075\u6d3b\u6027<\/strong>\uff1a\u80fd\u591f\u5229\u7528\u4e0d\u540c\u7684\u5e93\u3002<\/li>\n<li><strong>\u4f7f\u7528\u65b9\u4fbf<\/strong>\uff1a\u7b80\u5355\u7684\u547d\u4ee4\u884c\u754c\u9762\u3002<\/li>\n<li><strong>\u5f00\u6e90<\/strong>\uff1a\u53ef\u5728 GitHub \u7b49\u5e73\u53f0\u4e0a\u514d\u8d39\u83b7\u53d6\u3002<\/li>\n<li><strong>\u53ef\u6269\u5c55\u6027<\/strong>\uff1a\u5141\u8bb8\u7528\u6237\u6dfb\u52a0\u65b0\u7684\u6f0f\u6d1e\u548c\u6709\u6548\u8f7d\u8377\u3002<\/li>\n<\/ul>\n<h2>Ysoserial \u7684\u7c7b\u578b<\/h2>\n<p>\u5199\u51fa\u6709\u54ea\u4e9b\u7c7b\u578b\u7684 Ysoserial\u3002\u4f7f\u7528\u8868\u683c\u548c\u5217\u8868\u6765\u5199\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th>\u5c0f\u5de5\u5177\u5bb6\u65cf<\/th>\n<th>\u63cf\u8ff0<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u516c\u5171\u6536\u85cf<\/td>\n<td>\u4ee5 Apache Commons Collections \u4e3a\u76ee\u6807<\/td>\n<\/tr>\n<tr>\n<td>\u6625\u5929<\/td>\n<td>\u9488\u5bf9 Spring \u6846\u67b6<\/td>\n<\/tr>\n<tr>\n<td>Jdk7u21<\/td>\n<td>\u9488\u5bf9\u7279\u5b9a\u7248\u672c\u7684 JDK<\/td>\n<\/tr>\n<tr>\n<td>\u2026<\/td>\n<td>\u2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Ysoserial \u7684\u4f7f\u7528\u65b9\u6cd5\u3001\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848<\/h2>\n<p>\u4f7f\u7528 Ysoserial \u8fdb\u884c\u9053\u5fb7\u9ed1\u5ba2\u653b\u51fb\u548c\u6e17\u900f\u6d4b\u8bd5\u662f\u5408\u6cd5\u7684\uff0c\u4f46\u6076\u610f\u4f7f\u7528\u5219\u662f\u72af\u7f6a\u3002\u95ee\u9898\u53ca\u5176\u89e3\u51b3\u65b9\u6848\uff1a<\/p>\n<ul>\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u654f\u611f\u7cfb\u7edf\u7684\u610f\u5916\u66b4\u9732\u3002<br \/>\n<strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u59cb\u7ec8\u5728\u53d7\u63a7\u73af\u5883\u4e2d\u7ec3\u4e60\u3002<\/li>\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u672a\u7ecf\u6388\u6743\u4f7f\u7528\u7684\u6cd5\u5f8b\u540e\u679c\u3002<br \/>\n<strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u83b7\u5f97\u6e17\u900f\u6d4b\u8bd5\u7684\u660e\u786e\u8bb8\u53ef\u3002<\/li>\n<\/ul>\n<h2>\u4e3b\u8981\u7279\u70b9\u53ca\u5176\u4ed6\u6bd4\u8f83<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u7279\u5f81<\/th>\n<th>\u4f0a\u7d22\u5e8f\u5217<\/th>\n<th>\u7c7b\u4f3c\u5de5\u5177<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u76ee\u6807\u8bed\u8a00<\/td>\n<td>\u722a\u54c7<\/td>\n<td>\u5404\u4e0d\u76f8\u540c<\/td>\n<\/tr>\n<tr>\n<td>\u53ef\u6269\u5c55\u6027<\/td>\n<td>\u9ad8\u7684<\/td>\n<td>\u7f13\u548c<\/td>\n<\/tr>\n<tr>\n<td>\u793e\u533a\u652f\u6301<\/td>\n<td>\u5f3a\u7684<\/td>\n<td>\u5404\u4e0d\u76f8\u540c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u4e0e Ysoserial \u76f8\u5173\u7684\u672a\u6765\u89c2\u70b9\u548c\u6280\u672f<\/h2>\n<p>\u672a\u6765\u53ef\u80fd\u4f1a\u770b\u5230\u9488\u5bf9\u53cd\u5e8f\u5217\u5316\u653b\u51fb\u7684\u9632\u5fa1\u63aa\u65bd\u5f97\u5230\u6539\u8fdb\uff0c\u5305\u62ec\u7528\u4e8e\u68c0\u6d4b\u548c\u7f13\u89e3\u6b64\u7c7b\u6f0f\u6d1e\u7684\u66f4\u597d\u5de5\u5177\u3002\u793e\u533a\u7684\u8fdb\u4e00\u6b65\u7814\u7a76\u548c\u534f\u4f5c\u53ef\u4ee5\u63a8\u52a8\u8fd9\u4e9b\u6539\u8fdb\u3002<\/p>\n<h2>\u5982\u4f55\u4f7f\u7528\u4ee3\u7406\u670d\u52a1\u5668\u6216\u4e0e Ysoserial \u5173\u8054<\/h2>\n<p>\u50cf OneProxy \u8fd9\u6837\u7684\u4ee3\u7406\u670d\u52a1\u5668\u53ef\u4ee5\u5145\u5f53\u4e2d\u4ecb\u6765\u68c0\u67e5\u548c\u8fc7\u6ee4\u5e8f\u5217\u5316\u5bf9\u8c61\uff0c\u4ece\u800c\u6709\u53ef\u80fd\u68c0\u6d4b\u548c\u963b\u6b62\u6765\u81ea Ysoserial \u7684\u6709\u6548\u8d1f\u8f7d\u3002\u901a\u8fc7\u5e94\u7528\u89c4\u5219\u548c\u76d1\u63a7\u6a21\u5f0f\uff0c\u4ee3\u7406\u670d\u52a1\u5668\u53ef\u4ee5\u6210\u4e3a\u62b5\u5fa1\u53cd\u5e8f\u5217\u5316\u653b\u51fb\u7684\u91cd\u8981\u9632\u5fa1\u5c42\u3002<\/p>\n<h2>\u76f8\u5173\u94fe\u63a5<\/h2>\n<ul>\n<li>Ysoserial \u4e0a <a href=\"https:\/\/github.com\/frohoff\/ysoserial\" target=\"_new\" rel=\"noopener nofollow\">GitHub<\/a><\/li>\n<li>Chris Frohoff \u548c Gabriel Lawrence \u7684 <a href=\"https:\/\/www.youtube.com\/watch?v=VviY3O-euVQ\" target=\"_new\" rel=\"noopener nofollow\">\u63a8\u4ecb\u4f1a<\/a><\/li>\n<li><a href=\"https:\/\/owasp.org\/\" target=\"_new\" rel=\"noopener nofollow\">OWASP<\/a> \u4ee5\u83b7\u53d6\u6709\u5173\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u7684\u6307\u5357\u3002<\/li>\n<\/ul>\n<hr>\n<p>\u672c\u6587\u662f\u4e86\u89e3 Ysoserial \u5728 Java \u793e\u533a\u4e2d\u7684\u4f5c\u7528\u548c\u5f71\u54cd\u3001\u5176\u5728\u9053\u5fb7\u9ed1\u5ba2\u4e2d\u7684\u5e94\u7528\u4ee5\u53ca\u5176\u4e0e OneProxy \u7b49\u4ee3\u7406\u670d\u52a1\u5668\u7684\u8054\u7cfb\u7684\u5b9d\u8d35\u8d44\u6e90\u3002\u5bf9\u4e8e\u5f00\u53d1\u4eba\u5458\u3001\u5b89\u5168\u5206\u6790\u5e08\u548c\u6240\u6709\u6280\u672f\u7231\u597d\u8005\u6765\u8bf4\uff0c\u4e86\u89e3\u6b64\u5de5\u5177\u4ee5\u53ca\u4e0e\u4e0d\u5b89\u5168\u53cd\u5e8f\u5217\u5316\u76f8\u5173\u7684\u56fa\u6709\u98ce\u9669\u81f3\u5173\u91cd\u8981\u3002<\/p>","protected":false},"featured_media":479742,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-479741","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Ysoserial: A Comprehensive Guide<\/mark>","faq_items":[{"question":"What is Ysoserial, and why is it significant?","answer":"<p>Ysoserial is a proof-of-concept tool that exploits Java object deserialization vulnerabilities, allowing for arbitrary code execution. It serves as a critical reminder of the security risks associated with insecure deserialization and has had a significant impact on Java security practices.<\/p>"},{"question":"Who created Ysoserial, and when was it first mentioned?","answer":"<p>Ysoserial was introduced by Chris Frohoff and Gabriel Lawrence at the AppSecCali Security Conference in 2015 to highlight the risks of insecure Java deserialization.<\/p>"},{"question":"How does Ysoserial work, and what is its internal structure?","answer":"<p>Ysoserial works by exploiting the way Java handles serialized objects. The internal structure involves choosing a vulnerable class called a gadget, crafting a payload to execute specific commands, serializing the payload into a byte sequence, injecting it into a vulnerable application, and then deserializing it, inadvertently executing the attacker's commands.<\/p>"},{"question":"What are the key features of Ysoserial?","answer":"<p>The key features of Ysoserial include its flexibility to exploit different libraries, ease of use, open-source availability, and extensibility to allow users to add new exploits and payloads.<\/p>"},{"question":"What types of Ysoserial exist?","answer":"<p>There are various types of Ysoserial based on different gadget families, such as CommonsCollections, Spring, Jdk7u21, etc. Each targets specific vulnerabilities within various libraries or environments.<\/p>"},{"question":"How can Ysoserial be used, and what problems may arise?","answer":"<p>Ysoserial can be used legally for ethical hacking and penetration testing but also has the potential for malicious use. Problems may include accidental exposure of sensitive systems and legal consequences if used without authorization.<\/p>"},{"question":"How can proxy servers like OneProxy be associated with Ysoserial?","answer":"<p>Proxy servers like OneProxy can act as intermediaries to inspect and filter serialized objects, potentially detecting and blocking payloads from Ysoserial. This adds an essential layer of defense against deserialization attacks.<\/p>"},{"question":"What are the future perspectives related to Ysoserial?","answer":"<p>The future may bring improved defenses against deserialization attacks, including enhanced tools for detection and mitigation. Research and community collaboration can drive these advancements.<\/p>"},{"question":"Where can I find more information about Ysoserial?","answer":"<p>You can find more information about Ysoserial on GitHub, through Chris Frohoff and Gabriel Lawrence's presentation, and on OWASP's website for guidelines on secure coding practices.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/wiki\/479741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/wiki\/479741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/media\/479742"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/cn\/wp-json\/wp\/v2\/media?parent=479741"}],"curies":[{"name":"\u53ef\u6e7f\u6027\u7c89\u5242","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}