网络安全笔记
Posted 向阳-Y.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全笔记相关的知识,希望对你有一定的参考价值。
仅供学习参考,请熟读《网络安全法》
切勿触碰法律!切勿触碰法律!切勿触碰法律!
站点挖掘
常用子域名相关查找工具:
1.通过搜索引擎:site:baidu.com
2.layer子域名挖掘机
HTTP 响应码:(当访问某个站点时所呈现的数字)
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功地接受、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误
5xx:服务器错
再举例几个常见的:
200 存在文件
403 存在文件夹
3xx 均可能存在
404 不存在文件及文件夹
500 均可能存在
在用御剑漏洞扫描工具的时候可以勾选,并进行相应判断
App本质也是一个网站:
想抓app的包,可以用工具:漏了个大洞、手机模拟器
Firefox有个httphead改包很好用
小知识:
1.扫描网站的时候,扫ip和扫域名的结果可能不一样
2.某些网站在扫描cdx文件和cer文件是一样的,因为可能在缓存isapi扩展中设置了指向了相同的值
3.设置了执行权限为无之后,后门软件等都无法执行
资源:搭建中间件漏洞
https://vulhub.org/
web的漏洞分析流程:
网站源码分析:
1.可以通过网站的系统,下载对应的源码,进行查找并分析出可以利用的漏洞
CMS
CMS是什么?
CMS可以理解为CMS帮你把一个网站的程序部分的事全做完了;你要做的只是一个网站里面美工的部份。只要搞几个静态网页模板,一个门户级的网站就出来了。
知道一个网站的CMS系统就可以通过百度得到相关漏洞,进而对网站进行渗透
手工发现cms的一个思路:
1.favicon.ico为图标
https://tophub.today//favicon.ico可以拿到logo,拿到后用md5查看工具查看图标的md5值,以此获取cms
2.先抓包,对抓包的url进行百度搜索,可以得到相关信息。【社工】通过浏览器进行搜索cms.
之后对找到的cms系统进行查找漏洞,例如zblog漏洞
判断操作系统
1.将网站后面的小写网页改成大写,如果报错,则为linux,反之windows
例如.php/.PHP
2.利用ping包返回的ttl值
WINDOWS NT/2000 | TTL:128 |
---|---|
WINDOWS 95/98 | TTL:32 |
UNIX | TTL:255 |
LINUX | TTL:64 |
WIN7 | TTL:64 |
- nmap探索操作系统:相关文章
nmap -O +地址 可以用来扫描开放的端口
信息收集——CDN绕过
CDN的全称是Content Delivery Network,即内容分发网络。
可以利用超级ping等工具进行探索
例如:https://ping.chinaz.com/
目前常见的CDN绕过技术:
1.子域名查询
2.邮件服务器查询(大部分不会对邮箱进行CDN,所以一般邮箱地址为真实地址)
3.国外地址请求(通过国外服务器ping国内节点)
4.遗留文件(phpinfo.php),可以用谷歌浏览器关键字inurl:phpinfo.php
5.扫描全网(收集每一个地方的ip进行筛选【不推荐】)
6.黑暗引擎搜索特定文件
小技巧:
1.dns历史记录,以量打量:CDN节点是有流量上限的,用光之后就会直通原机,这也是一种流量攻击
2.m为手机类(手机端访问该站点) 例如:m.baidu.com,也可以进行CDN绕过.
3.邮件源码查:
利用注册时对方发送的邮箱网页版的源码进行代码审计找出ip,还可以通过备案号公告再次筛选地址
4.采集/国外请求( 同类型访问)
5.黑暗引擎(shodan搜指定hash文件)
6.扫全网 fuckcdn,w8 fuckcdn,zmap等
7.本地清下dns,然后hosts里写上得到的ip和域名,如果是cdn可能会出现刷新异常,如果打开很快大概率是原机相关的一些资源网站(部分需要魔仙上网):
https://www.shodan.io
https://x.threatbook.cn
http://ping.chinaz.com
https://www.get- site- ip.com/
https://asm.ca.com/en/ping.php
https://github.com/boy-hack/w8fuckcdn
信息收集
站点类型:
1.目录型站点
该站点由多个目录组成,不同目录对应不同的程序页面,而只要其中一个目录(页面)出现问题,则可能会殃及整个网站,比如某站点的主页和某站点的bbs目录,对应不同的功能,搭载了不同的程序
2.端口类站点
某些站点80端口为页面,8080端口为登录界面
http://jwxt1.cqyygz.com/例如这个网址
可以用端口扫描找出
3.子域名站点
子域名两套服务器,和主站系统不同
可以用搜索引擎语法进行搜索子域名:
site:baidu.com
4.类似域名站点
比如:.cn结尾和.com结尾的域名
5.旁注, c段站点
旁注
:同服务器不同站点的渗透方案:
如何站点AA不好渗透,可以通过渗透站点BB,夺权再进而渗透AA
服务器192.168.1.1
- 站点AA
- 站点BB
…
C段
:同网段不同服务器的渗透方案
旁注网站失效的情况(独立网站服务器或其他网站也渗透不成功),这时通过C段查询获取同网段上解析的站点进行渗透,再继续webshell提权获取服务器权限,再来进行内网渗透攻击目标网站服务器。
服务器192.168.1.1
- 站点AA
服务器192.168.1.55
- 站点BB
旁注查询工具:
旁注查询网站:
https://www.webscan.cc
6.搭建软件特征站点
宝塔、phpstudy、wmap、lnmp等
可以通过server值进行搜索,一般来说server值描述的越精细,则表明用软件搭建的可能性更大,否则可能为手动搭建的
phpmyadmin一般为后台
waf
什么是WAF应用? – Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。
1.wafw00f是一款好用的判断是否存在waf的工具,并且识别出用的何种waf
2.也可以通过数据包中的X-Powered-By判断相关信息
信息收集一
各种子域名查询
DNS,备案,证书
全球节点请求cdn
枚举爆破解析子域名对应
发现管理员相关的注册信息
黑暗引擎搜索
fofa,shodan,zoomeye
微信公众号接口获取
内部群内部应用内部接口
apk提取:
apk提取后续配合
1.用软件:漏了个大洞,提取反编译
将apk放在apps的目录里,再运行apkAnalyse.exe即可
2.利用burp历史抓取更多url
第三方测试
各种端口一顿乱扫:如nmap
还可以通过用各种黑暗搜索引擎扫ip
各种接口一顿乱扫:
实战一个网站:
xxxxx
先用黑暗引擎扫描该域名【同时也可以用扫描工具,例如nmap再扫一次】(某些搜索出的网页阿里云流量上的拦截,自动屏蔽ip,让你打不开这个网站,这时候就需要魔仙上网了,再测试能否打开),这时候再黑暗搜索引擎中找ip端口,每个端口对应的有页面,每个页面可能包含着一些操作系统、中间件、数据库、CMS等信息,再通过这些信息百度找出相应的漏洞
手工方法:
可以再用浏览器搜索语法进行域名搜索 ,搜索到相关站点后再把相关站点的的ip弄到手,再拿去让黑暗搜索引擎扫描
另外:旁注、子域名查询等等全部安排上
类似域名查询:
查这个域名备案那些网站,则又可以获取一个新的网站
网站公告查询:
对网页发布的公司名再次进行搜索,也许能搜到新的公司网址,
再对其使用开发人员工具抓包查看一些相关信息,
还可以直接搜公司名+相关域名深度挖掘探索
信息收集的重点就是找出攻击面
域名+/robots.txt可以查看服务器信息
PHPCMS漏洞有:
admin.php
信息收集二
图中:域名大数据为该站所泄露出的数据
搭建Github监控
便于收集整理最新exp或poc
便于发现相关测试目标的资产
比如一些工具:监控最新的EXP发布及其他
,再利用sc.ftqq.com(例如:server酱)可以将信息自动推送到微信上。【小迪课程第十天第7分钟教有如何修改】
提莫探查:
提莫探查和layer
都很强力推荐
工具:https://github.com/bit4woo/teemo
其他资产探查
telegram搜索
ipip查询工具:
http://tools.ipip.net/
证书查询
https://crt.sh/
漏洞篇
CTF主要:文件上传、反序列化、SQL注入、代码执行
SQL注入漏洞
sql注入可以通过软件扫描目录,或者通过已知的网页代码审计找出其他文件
SQL注入篇笔记已分开写:
1.靶场搭建
2.零基础入门SQL注入
3.实战sqlilabs
4.access数据库|偏移注入
5.SQL盲注
6.SQL注入|文件读写操作
7.SQL注入扫描工具
SQL注入中的"’"
某些网站中使用了 id=’$id’,导致传进来的id被当做字符串处理了。
例如传进?id=1 and 1=1,实质查询为 :
select * from users where id='1 and 1=1'
我们可以通过传进?id=1’ and 1=1另其报错:
传进的结果为:
select * from users where id='1' and 1=1' #此时查询中多了一个',所以会报错
传进?id=1’ and ‘1’='1
再令其正确:
select * from users where id='1' and '1'='1'
补充sqlmp/nosqlattack:
sqlmap工具的使用:
不支持MongoDB
url
no sql attack工具
支持MongoDB
下载地址:
https://github.com/youngyangyang04/NoSQLAttack
使用方法:
python2 setup.py install
python2 main.py
进去后先配置文件:
配ip,端口,和文件路径。x保存——4
load_file()读取的敏感信息:url
目录遍历漏洞代码:
如果网站上有这个漏洞,可以很轻松的得到该网站的目录结构
<?php
function my_dir($dir) {
$files = [];
if(@$handle = opendir($dir)) {
while(($file = readdir($handle)) !== false) {
if($file != ".." && $file != ".") {
if(is_dir($dir . "/" . $file)) { //如果是子文件夹,进行递归
$files[$file] = my_dir($dir . "/" . $file);
} else {
$files[] = $file;
}
}
}
closedir($handle);
}
return $files;
}
echo "<pre>";
print_r(my_dir("./"));
echo "</pre>";
文件上传漏洞
将上传接口上传一个php.jpg文件,里面写好代码,再通过抓包工具,在点击上传时抓住,修改数据包为php.php,发送出去后,该文件就能被执行了
文件下载漏洞
这里用到的base64加密,所以如果想下载index.php就把index.php进行base64加密,再拼接url地址即可
SQL靶场pikachu:https://github.com/zhuifengshaonianhanlu/pikachu
<?php phpinfo();?>这是学习到的一段php代码。可以显示info页面第十二天:
忍者安全测试系统:
sql漏洞产生的主要原因是因为在sql语句中采用了变量
id=$id,而且,$id=111也不成立,应该为:$id=[可控变量(用户可通过注入在此处)]
答案: BC,因为x有注入,必须注入在x后面
举个例子,比如说这个网站: https://kefu.xoyo.com/index.php?id=1&r=part
如果已知id存在注入点,该如何注入,我们可以选择把值卸载id后面,或者交换id的位置:
1.写后面 https://kefu.xoyo.com/index.php?id=1and 1=1
&r=part
2.交换位置 https://kefu.xoyo.com/index.php?r=part&id=1and 1=1
SQL靶场(sqli-labs):
https://github.com/Audi-1/sqli-labs
以上是关于网络安全笔记的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段