渗透基础知识
大约 3 分钟
前言
整理的渗透所需的一些基础知识。
HTML 表单基础
- 该表单是提交给哪个文件进行处理的(查看 action 属性值)
- 向后端程序提交的参数是什么(查看 name 属性)
SQL 数据库查询语句基础
- 查询返回所有的结果
select * from users;
- 条件查询
select * from users where uame='$uname';
- union 合并多个查询结果
select * from users union select * from msgs;
- ... ...
万能用户名或者万能密码
- 第一种
select * from users where uame='' or ''='' and passwd=$passwd;
- 第二种
select _from users where uame='' union select_ from users and passwd=$passwd;
- 第三种
select * from users where uame=$uname and passwd='' or ''='';
- ... ...
使用 PDO 进行防注入基础
- 允许长连接
PDO::ATTR_PERSISTENT=>true
- 不允许使用预处理语句
PDO::ATTR_EMULATE_PREPARE=>false
- PDO 连接
$pdh=new PDO(host='127.0.0.1:1433',user='sa',password='root');
- 预处理 SQL 查询语句
$stmt=$dbh->prepare($sql)
- 填充 SQL 语句中的占位符
$stmt->execute(array(...,...,....));
- SQL 占位符(如: select * from users where uname=? and passwd=?; )
select * from users where uname=? and passwd=?;
- ... ...
Wireshark 抓包
- 熟练使用 Wireshark 这款软件
- 熟练掌握过滤器的写法(如:
tcp
、udp
、icmp
、mac
......) - 知道各个协议的包结构、包头、包尾
- ... ...
审查代码的能力
- HTML 源文件内容(通过右键网页 –> 查看源文件)
- PHP 代码(了解代码逻辑以及书写规范, 特别是对函数名的记忆)
- PYTHON 代码(快速读懂代码意思, 特别是要从 main 函数入手去查看)
- C 语言代码(从代码中分析出来, 该代码的意思以及各个函数的逻辑)
- ... ...
各个 WEB 漏洞的利用能力
- SQL 注入(通过万能用户名和万能密码来获取一定的 webshell)
- 命令注入(特别是 PHP 中的 exec 和 system 函数也能获取到一定的 webshell)
- 文件包含和目录遍历(通过
../../../../... .../flag.txt
来获取文件) - ... ...
Liunx 服务的安全配置
- SSH(禁止 root 登录;禁止空密码登录;禁止密钥登录 ... ...)
- TELNET(禁止 root telnet;禁用 telnet ... ...)
- VSFTP(不允许普通用户登录 ftp;禁止匿名用户登录 ftp ... ...)
- HTTPD(禁止回显 banner 信息;严格控制目录权限 ... ...)
- ... ...
PHP 安全配置
- 开启安全模式
safe_mode = on
- 禁用函数
disable_functions = system,exec,eval,shell_exec,phpinfo,... ...
- 禁止 SQL 注入
magic_quotes_gpc = On
PYTHON 渗透脚本基础
- 了解 scapy 这一模块(特别是在构造数据包的时候该怎么写)
- 了解 dpkt 封装或者拆解网络协议包
- 了解 socket 编程
- 能够从 help 这一帮助函数中获取到其他函数的使用方法
- 拥有快速阅读脚本的能力和代码逻辑思维
- ... ...
Liunx 常用命令
- find
find / -iname * | xargs grep –i '*key*'
- grep
grep '*key*' ./keystring.txt
- netstat
netstat –tulnp 11.4 kill -9 [pid] 11.5 chattr +i /etc/passwd
- kill
kill -9 [pid]
- chattr
chattr +i /etc/passwd /etc/shadow
- useradd
useradd -o -u 0 test
WEB 漏洞训练平台
1.DVWA 【DVWA】 2.Web For Pentester 【Web For Pentester II】(请自行安装镜像, 安装时请选择"其他 Liunx 3.x 内核 64 位") 3.ZVulDrill 【ZVulDrill】(请自行准备 PHP 环境)
- ... ...
网络协议原理
- Tcp 三次握手和四次挥手
- Icmp 发包以及回包
- Mac 防洪原理
- ARP 发广播包, ARP 欺骗
- Dtp 生成树攻击原理
- ... ...
关于 PYTHON 的网络渗透编程
- ARP 扫描
import socket
# or
from scapy.all import *
- ARP 欺骗、ARP 监控
from scapy.all import *
- OS 扫描
import nmap
- Mac 防洪
import socket
# or
from scapy.all import *
- mssql 数据库密码爆破
import pymssql
- 跨越 VlAN 攻击
from scapy.all import *
- Dtp 攻击
from scapy.all import *
- ... ...