接口測(cè)試系列之——接口安全測(cè)試

Testerhome社區(qū)愛(ài)好者合力編寫(xiě)了《2021接口測(cè)試白皮書(shū)》扑馁,并于今年2月底發(fā)布涯呻。本文節(jié)選自其中的的「安全測(cè)試」章節(jié)。點(diǎn)擊鏈接可下載完整版《2021接口測(cè)試白皮書(shū)》腻要。

“開(kāi)源 Web 應(yīng)用安全項(xiàng)目”(OWASP)在 2019 年發(fā)布了 API 十大安全風(fēng)險(xiǎn) 《OWASP API 安全 Top10》:失效的對(duì)象級(jí)別授權(quán)复罐、失效的用戶(hù)身份驗(yàn)證、過(guò) 度的數(shù)據(jù)暴露雄家、資源缺乏和速率限制市栗、失效的功能級(jí)授權(quán)、批量分配咳短、安全配置 錯(cuò)誤填帽、注入、資產(chǎn)管理不當(dāng)咙好、日志和監(jiān)視不足位列其中篡腌。我們以此為依據(jù)對(duì) API十大安全風(fēng)險(xiǎn)進(jìn)行介紹。

▌失效的對(duì)象級(jí)別授權(quán)

失效的對(duì)象級(jí)別授權(quán)是指:用戶(hù)與服務(wù)器使用 API 進(jìn)行通信時(shí)勾效,服務(wù)器端未 進(jìn)行對(duì)象級(jí)別的權(quán)限控制或限制不嚴(yán)格嘹悼。攻擊者可以通過(guò)修改請(qǐng)求數(shù)據(jù)中的對(duì)象ID 等信息,實(shí)現(xiàn)未授權(quán)獲取或修改敏感信息层宫。

案例:在使用某個(gè)功能時(shí)通過(guò)用戶(hù)提交的對(duì)象 ID(如訂單號(hào)杨伙、記錄號(hào))來(lái) 訪問(wèn)或操作對(duì)應(yīng)的數(shù)據(jù),且未進(jìn)行嚴(yán)格的權(quán)限限制萌腿。

如下圖所示限匣,正常訂單查詢(xún)請(qǐng)求:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-7IW4Plxe-1648105140097)(/img/bVcYIxK)]

如下圖所示,使用 burpsuite 對(duì) oid 參數(shù)進(jìn)行遍歷毁菱,嘗試越權(quán)訪問(wèn)他人訂單 詳情米死,可以看到成功查看到了他人訂單信息:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-sIiQQb6N-1648105140099)(/img/bVcYIxM)]

▌失效的用戶(hù)身份驗(yàn)證

失效的用戶(hù)身份驗(yàn)證是指:API 在訪問(wèn)時(shí)未對(duì)請(qǐng)求方進(jìn)行身份驗(yàn)證或身份驗(yàn)證存在問(wèn)題導(dǎo)致易被破解,那么攻擊者可以實(shí)現(xiàn)未授權(quán)對(duì) API 進(jìn)行操作贮庞。

案例:

  1. 未校驗(yàn)令牌的有效性;
  2. 更新密碼接口未限制請(qǐng)求頻率峦筒,舊密碼參數(shù)可暴力破解;
  3. 短信驗(yàn)證碼或者郵箱驗(yàn)證碼有效期超出 10 分鐘或者長(zhǎng)度小于 6 位。

▌過(guò)度的數(shù)據(jù)暴露

發(fā)生過(guò)度數(shù)據(jù)暴露的主要原因之一是窗慎,開(kāi)發(fā)人員和編碼人員對(duì)他們的應(yīng)用程 序?qū)⑹褂玫臄?shù)據(jù)種類(lèi)沒(méi)有足夠的洞察力物喷。正因?yàn)槿绱耍_(kāi)發(fā)人員傾向于利用通用 流程遮斥,在這種流程中峦失,所有的對(duì)象屬性都暴露給最終用戶(hù)。

例如:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-1v0exJEZ-1648105140099)(/img/bVcYIxR)]

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-wsVB2k9R-1648105140100)(/img/bVcYIxW)]

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-0PCFwdlu-1648105140100)(/img/bVcYIx0)]

利用過(guò)度暴露的數(shù)據(jù)十分容易伏伐,通常通過(guò)嗅探流量分析 API 的響應(yīng)獲取不應(yīng) 該返回給用戶(hù)的多余敏感信息宠进。

防御:

  • 不要依賴(lài)客戶(hù)端來(lái)過(guò)濾敏感數(shù)據(jù);
  • 檢查 API 的響應(yīng),確認(rèn)其中僅包含合法數(shù)據(jù);

停止用通用 API 向用戶(hù)發(fā)送一切的過(guò)程也很重要藐翎。例如材蹬,必須避免將所有信息直接執(zhí)行 to_json()和 to_string(),然后發(fā)送給客戶(hù)端吝镣。應(yīng)該專(zhuān)門(mén)挑選需要 返回給授權(quán)用戶(hù)的屬性堤器,并專(zhuān)門(mén)發(fā)送這些信息;

對(duì)于敏感數(shù)據(jù)應(yīng)使用加密技術(shù)進(jìn)行保護(hù)。這樣末贾,即使該數(shù)據(jù)的位置作為 過(guò)度數(shù)據(jù)暴露漏洞的一部分被泄露出去闸溃,也有一個(gè)良好的第二道防線,即使數(shù)據(jù) 落入惡意用戶(hù)或威脅行為者手中拱撵,也能保護(hù)數(shù)據(jù)辉川。

▌資源缺乏和速率限制

隨著資源的缺乏和速率的限制,每個(gè) API 都有有限的資源和計(jì)算能力拴测,這取 決于它的環(huán)境乓旗。大多數(shù)還需要處理來(lái)自用戶(hù)或其他程序的請(qǐng)求,要求它執(zhí)行所需 的功能集索。當(dāng)有太多的請(qǐng)求同時(shí)進(jìn)來(lái)屿愚,而 API 沒(méi)有足夠的計(jì)算資源來(lái)處理這些請(qǐng)求 時(shí),就會(huì)出現(xiàn)這種漏洞务荆。然后妆距,API 可能變得不可用或?qū)π碌恼?qǐng)求沒(méi)有反應(yīng)。

如果 API 的速率或資源限制沒(méi)有被正確設(shè)置函匕,或者限制沒(méi)有在代碼中被定義娱据, 那么 API 就很容易出現(xiàn)這個(gè)問(wèn)題。

具體案例如下圖所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-rdCP3ytQ-1648105140101)(/img/bVcYIx2)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-NotW815F-1648105140101)(/img/bVcYIx6)]

上述代碼沒(méi)有進(jìn)行限制盅惜,我們可以通過(guò)短時(shí)間大量無(wú)限請(qǐng)求/api/users 訪問(wèn) 所有的用戶(hù)吸耿,造成其他客戶(hù)端請(qǐng)求無(wú)法相應(yīng)的問(wèn)題。

修改后:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-e8GKUYdO-1648105140102)(/img/bVcYIx7)]

API 將限制匿名用戶(hù)每小時(shí)發(fā)出 200 次請(qǐng)求酷窥,已經(jīng)被系統(tǒng)審核過(guò)的已知用戶(hù) 會(huì)有更大的回旋余地咽安,每小時(shí)有 5000 個(gè)請(qǐng)求,但即使是他們也受到限制蓬推,以防 止在高峰期意外超載妆棒,或者在用戶(hù)賬戶(hù)被泄露并被用于拒絕服務(wù)攻擊時(shí)進(jìn)行補(bǔ)償。

對(duì)用戶(hù)調(diào)用 API 的頻率執(zhí)行明確的時(shí)間窗口限制沸伏,定義并強(qiáng)制驗(yàn)證所有傳入 參數(shù)和有效負(fù)荷的最大數(shù)據(jù)量糕珊,例如字符串的最大長(zhǎng)度和數(shù)組中元素的最大數(shù) 量。在突破限制時(shí)通知客戶(hù)毅糟,并提供限制數(shù)量及限制重置的時(shí)間红选。

▌失效的功能級(jí)授權(quán)

失效的功能級(jí)授權(quán)漏洞允許用戶(hù)執(zhí)行應(yīng)該被限制的功能,或者讓他們?cè)L問(wèn)應(yīng) 該被保護(hù)的資源姆另。

如下圖所示喇肋,攻擊者為站點(diǎn)普通用戶(hù)權(quán)限坟乾,通過(guò)經(jīng)驗(yàn)對(duì)站點(diǎn)可能存在的管理 功能 URL 進(jìn)行猜測(cè),多次嘗試之后發(fā)現(xiàn)本應(yīng)無(wú)權(quán)訪問(wèn)的 admin_statuspage 頁(yè)面可 以訪問(wèn)成功:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-QIwJWoVs-1648105140102)(/img/bVcYIx9)]

如下圖所示攻擊者為站點(diǎn)普通權(quán)限用戶(hù)蝶防,站點(diǎn)使用已知框架甚侣,攻擊者查閱新 建管理用戶(hù)功能需發(fā)送的數(shù)據(jù)包詳情,并構(gòu)造數(shù)據(jù)包進(jìn)行發(fā)送间学,發(fā)現(xiàn)可以新建用戶(hù)成功殷费。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-6QzNUiPS-1648105140103)(/img/bVcYIyc)]

防止這種 API 漏洞尤其重要,因?yàn)楣粽卟浑y找到結(jié)構(gòu)化 API 中未受保護(hù)的 函數(shù)低葫,因此所有業(yè)務(wù)層面的功能都必須使用基于角色的授權(quán)方法進(jìn)行保護(hù)详羡。一定 要在服務(wù)器上實(shí)現(xiàn)授權(quán),不能試圖從客戶(hù)端保證功能的安全嘿悬。在創(chuàng)建功能和資源 級(jí)別時(shí)实柠,用戶(hù)應(yīng)該只被賦予做它們需要的事情的權(quán)限,實(shí)踐最小權(quán)限的方法鹊漠。

▌批量分配

后端應(yīng)用對(duì)象可能包含許多屬性主到,其中一些屬性可以由客戶(hù)端直接更新(如,user.firstname 或 user.address)躯概,而某些屬性則不應(yīng)該更新(如登钥,user.isvip 標(biāo)志)。

案例:
一個(gè)乘車(chē)共享應(yīng)用程序?yàn)橛脩?hù)提供了編輯個(gè)人資料基本信息的選項(xiàng)娶靡。用戶(hù)可 以更新“user_name”牧牢、“age”兩個(gè)參數(shù)。

PUT /api/v1/users/me
{"user_name":"inons","age":24}
發(fā)現(xiàn)/api/v1/users/me 接口返回一個(gè)附加“credit_balance”參數(shù):

GET/api/v1/users/me {"user_name":"inons","age":24,"credit_balance":10}

攻擊者構(gòu)造報(bào)文姿锭,重放第一個(gè)請(qǐng)求:
PUT/api/v1/users/me {"user_name":"attacker","age":60,"credit_balance":99999}

攻擊者無(wú)需支付即可篡改自己的信用值塔鳍。

如何防止:

  1. 如果可能,請(qǐng)避免使用將客戶(hù)輸入自動(dòng)綁定到代碼變量或內(nèi)部對(duì)象中的函數(shù);2. 僅將客戶(hù)端可更新的屬性列入白名單;
  2. 使用內(nèi)置功能將客戶(hù)端不應(yīng)訪問(wèn)的屬性列入黑名單;
  3. 如果可能呻此,為輸入數(shù)據(jù)有效負(fù)載準(zhǔn)確轮纫、明顯的定義和實(shí)施 schema 格式。

▌安全配置錯(cuò)誤

概述:
安全配置錯(cuò)誤可以發(fā)生在一個(gè)應(yīng)用程序堆棧的任何層面焚鲜,包括平臺(tái)掌唾、Web服務(wù)器、應(yīng)用服務(wù)器忿磅、數(shù)據(jù)庫(kù)糯彬、框架和自定義代碼。

案例:
比如攻擊者在服務(wù)器的根目錄下找到.bash_history 文件葱她,該文件包含DevOps團(tuán)隊(duì)用于訪問(wèn) API 的命令:
$ curl -X GET 'https://api.server/endpoint/' -H 'authorization: Basic Zm9vOmJhcg=='撩扒, 攻擊者可由此命令獲取權(quán)限認(rèn)證信息(Zm9vOmJhcg== base64 解碼:foo:bar)以 及接口信息。

▌注入

概述:
服務(wù)端未對(duì)客戶(hù)端提供的數(shù)據(jù)進(jìn)行驗(yàn)證吨些、過(guò)濾或凈化搓谆,數(shù)據(jù)直接使用或者拼 接到 SQL/NoSQL/LDAP 查詢(xún)語(yǔ)句炒辉、 OS 命令、XML 解釋器和 ORM(對(duì)象關(guān)系映射 器)/ODM(對(duì)象文檔映射器)中挽拔,產(chǎn)生注入類(lèi)攻擊辆脸。

案例:
判斷服務(wù)端是否支持 XML 解析但校,如果支持螃诅,可以嘗試 XML 注入。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Anything [
<!ENTITY entityex SYSTEM "file:///etc/passwd">
]>
<abc>&entityex;</abc>
API 未對(duì)來(lái)自外部系統(tǒng)(如状囱,集成系統(tǒng))的數(shù)據(jù)進(jìn)行驗(yàn)證术裸、過(guò)濾或凈化。

▌資產(chǎn)管理不當(dāng)

不當(dāng)?shù)馁Y產(chǎn)管理缺陷是現(xiàn)代的產(chǎn)物亭枷,以業(yè)務(wù)速度前進(jìn)的組織有時(shí)每天都能旋 轉(zhuǎn)出成百上千的服務(wù)和微服務(wù)袭艺。這通常是快速完成的,而且沒(méi)有創(chuàng)建任何的附帶 文檔叨粘,也沒(méi)有解釋相關(guān)的 API 是用來(lái)做什么的猾编,需要多長(zhǎng)時(shí)間或其重要性。這可 能會(huì)快速產(chǎn)生 API 蔓延升敲,隨著時(shí)間的推移可能會(huì)變得無(wú)法控制答倡,特別是如果沒(méi)有 全面的政策來(lái)定義 API 可以存在多久。這種環(huán)境下驴党,很有可能一些 API 會(huì)丟失瘪撇、 被遺忘或者未銷(xiāo)毀。

這就導(dǎo)致了如果資產(chǎn)管理不當(dāng)會(huì)直接導(dǎo)致攻擊者可以訪問(wèn)敏感數(shù)據(jù)港庄,甚至可 以通過(guò)舊的倔既、未打補(bǔ)丁的 API 版本連接到同一數(shù)據(jù)庫(kù)。

如何消除不當(dāng)?shù)馁Y產(chǎn)管理缺陷:應(yīng)該做到對(duì)所有的 API鹏氧、他們的用途和版本 進(jìn)行嚴(yán)格的盤(pán)點(diǎn)渤涌。主要關(guān)注因素包括,部署到什么環(huán)境中把还,如生產(chǎn)或開(kāi)發(fā)实蓬,誰(shuí)應(yīng) 該對(duì)它們有網(wǎng)絡(luò)訪問(wèn)權(quán)限、收集和處理哪些數(shù)據(jù)笨篷,是常規(guī)數(shù)據(jù)還是敏感數(shù)據(jù)瞳秽、API

的存活時(shí)間、當(dāng)然還有它們的版本率翅。一旦完成练俐,需要實(shí)施一個(gè)流程,將文檔添加 到任何新創(chuàng)建的 API 或服務(wù)中冕臭。這應(yīng)該包括 API 的所有方面腺晾,包括速率限制燕锥、如 何請(qǐng)求和相應(yīng)、資源共享悯蝉、可以連接到哪些端點(diǎn)归形、以及它任何以后需要審計(jì)的內(nèi) 容,還需要避免在生產(chǎn)中使用非生產(chǎn) API鼻由,考慮給 API 增加一個(gè)時(shí)間限制等暇榴。

▌日志和監(jiān)視不足

如果沒(méi)有日志和監(jiān)視,或者日志和監(jiān)視不足蕉世,就會(huì)導(dǎo)致無(wú)法及時(shí)發(fā)現(xiàn)攻擊者 的惡意活動(dòng)蔼紧,同時(shí)也就無(wú)法快速定位跟蹤可疑活動(dòng)并作出及時(shí)響應(yīng),給攻擊者留 有足夠的時(shí)間來(lái)破壞系統(tǒng)狠轻。

API 的脆弱項(xiàng):

  • 沒(méi)有生成任何日志奸例、日志級(jí)別沒(méi)有正確設(shè)置、或日志消息缺失足夠的細(xì) 節(jié)信息;
  • 不能保證日志的完整性;
  • 沒(méi)有對(duì)日志進(jìn)行持續(xù)監(jiān)視;
  • API 基礎(chǔ)設(shè)施沒(méi)有被持續(xù)監(jiān)視向楼。

建議:

  1. 應(yīng)該有一個(gè)記錄各種認(rèn)證和授權(quán)事件的系統(tǒng)查吊,比如登陸失敗、暴力攻擊湖蜕、訪問(wèn)敏感數(shù)據(jù)等;
  2. 必須建立有效的監(jiān)測(cè)和警報(bào)系統(tǒng)逻卖,此系統(tǒng)能夠發(fā)現(xiàn)可疑活動(dòng)并作出及時(shí)反應(yīng);
  3. 日志應(yīng)保證有足夠的詳細(xì)信息記錄攻擊者的行為,識(shí)別惡意活動(dòng);
  4. 如果出現(xiàn)問(wèn)題重荠,必須通知相關(guān)團(tuán)隊(duì)箭阶。5.必須采用行業(yè)標(biāo)準(zhǔn)制定事故相應(yīng)和恢復(fù)計(jì)劃。

Testerhome社區(qū)愛(ài)好者合力編寫(xiě)了《2021接口測(cè)試白皮書(shū)》戈鲁,并于今年2月底發(fā)布仇参。本文節(jié)選自其中的的「安全測(cè)試」章節(jié)。點(diǎn)擊鏈接可下載完整版《2021接口測(cè)試白皮書(shū)》婆殿。

image

今日份的知識(shí)已攝入~
想了解更多前沿測(cè)試開(kāi)發(fā)技術(shù):歡迎關(guān)注「第十屆MTSC大會(huì)·上赫┢梗」>>>
1個(gè)主會(huì)場(chǎng)+12大專(zhuān)場(chǎng),大咖云集精英齊聚
12個(gè)專(zhuān)場(chǎng)包括:
知乎婆芦、物流怕磨、開(kāi)源、游戲消约、酷家樂(lè)肠鲫、音視頻、客戶(hù)端
服務(wù)端或粮、數(shù)字經(jīng)濟(jì)导饲、效能提升、質(zhì)量保障、智能化測(cè)試

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渣锦,一起剝皮案震驚了整個(gè)濱河市硝岗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袋毙,老刑警劉巖型檀,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異听盖,居然都是意外死亡胀溺,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)媳溺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)月幌,“玉大人碍讯,你說(shuō)我怎么就攤上這事悬蔽。” “怎么了捉兴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵蝎困,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我倍啥,道長(zhǎng)禾乘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任虽缕,我火速辦了婚禮始藕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氮趋。我一直安慰自己伍派,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布剩胁。 她就那樣靜靜地躺著诉植,像睡著了一般。 火紅的嫁衣襯著肌膚如雪昵观。 梳的紋絲不亂的頭發(fā)上晾腔,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音啊犬,去河邊找鬼灼擂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛觉至,可吹牛的內(nèi)容都是我干的剔应。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼领斥!你這毒婦竟也來(lái)了嫉到?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤月洛,失蹤者是張志新(化名)和其女友劉穎何恶,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嚼黔,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡细层,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唬涧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疫赎。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖碎节,靈堂內(nèi)的尸體忽然破棺而出捧搞,到底是詐尸還是另有隱情,我是刑警寧澤狮荔,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布胎撇,位于F島的核電站,受9級(jí)特大地震影響殖氏,放射性物質(zhì)發(fā)生泄漏晚树。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一雅采、第九天 我趴在偏房一處隱蔽的房頂上張望爵憎。 院中可真熱鬧,春花似錦婚瓜、人聲如沸宝鼓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)席函。三九已至,卻和暖如春冈涧,著一層夾襖步出監(jiān)牢的瞬間茂附,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工督弓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留营曼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓愚隧,卻偏偏與公主長(zhǎng)得像蒂阱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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