网络安全笔记

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/2000TTL:128
WINDOWS 95/98TTL:32
UNIXTTL:255
LINUXTTL:64
WIN7TTL:64
  1. 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=1 and 1=1&r=part
2.交换位置 https://kefu.xoyo.com/index.php?r=part&id=1 and 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标签等(代码片段

sh bash片段 - 这些片段大多只是我自己的笔记;我找到了一些,有些我已经找到了

Java网络编程(读书笔记)

片段和活动之间的核心区别是啥?哪些代码可以写成片段?