
WEB安全学习笔记
文章平均质量分 85
miss枫
兴趣是最好的老师
展开
-
【工具】Nmap
Nmap工具帮助说明语法:nmap [扫描类型] [选项] [目标规范]目标规范可以传递主机名、IP地址、域名等。可以指定单个IP或IP段 eg:192.168.1.0/24、192.168.1.1,2,3-15-iL <filename>:从文件中导入扫描目标 eg:nmap -iL ip.txt-iR <num hosts>:随机选择目标,参数指定N...原创 2018-12-02 12:30:36 · 8273 阅读 · 0 评论 -
【工具】Sqlmap
Sqlmap帮助说明选项-Options-h:显示基本帮助信息-hh:显示高级详细帮助信息--version:显示程序版本信息-v:设置观察数据等级,一共七个等级: -v 0: 只显示python错误信息以及严重的信息 -v 1:同时显示基本信息和警告信息(默认) -v 2:同时显示debug信息 -v 3:同时显示注入的payload信息 (一般常用,用...原创 2018-12-02 12:31:09 · 1717 阅读 · 0 评论 -
【原创工具】刺刀-验证码识别+JS加密的验证器
说明已首发到tools论坛:https://www.t00ls.net/thread-48519-1-1.html工具说明支持三种模式:无验证码有加密类型、有验证码无加密类型、有验证码有加密类型(无验证码无加密自己用burp吧,这里说的加密是JS自定义加密)如这种RSA+BASE64:验证码识别提供了三种方式进行识别:1、tesseract-ocr本地OCR引擎识别:这个大家都知...原创 2018-12-02 13:24:18 · 1140 阅读 · 2 评论 -
【工具】分享自用的Burp插件
Burp Suite常用插件说明一、sqlmap插件使用sqlmap.jar可以在测试时通过右键菜单快速把当前测试数据包进行SQLMAP测试二、hackebar插件使用HackBar.jar可以在Burp中使用hackebar功能,具体功能如下:1、SQL注入:猜字段数:如果字段数过大,手动输很麻烦 order by、group by、联合查询:如果字段数过大,手动...原创 2018-12-07 17:06:29 · 7238 阅读 · 1 评论 -
【工具】hydra多协议破解工具
hydra九头蛇爆破工具帮助说明语法hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-IS...原创 2018-12-02 12:29:58 · 815 阅读 · 0 评论 -
【工具】gobuster目录猜解工具
gobuster-Web目录暴力破解工具帮助Gobuster是Kali Linux默认安装的一款暴力扫描工具。它是使用Go语言编写的命令行工具,具备优异的执行效率和并发性能。该工具支持对子域名和Web目录进行基于字典的暴力扫描。不同于其他工具,该工具支持同时多扩展名破解,适合采用多种后台技术的网站。实施子域名扫描时,该工具支持泛域名扫描,并允许用户强制继续扫描,以应对泛域名解析带来的影响。...原创 2018-12-02 12:28:55 · 7320 阅读 · 1 评论 -
【41】WEB安全学习----CORS跨域安全
CORSCORS需要浏览器和服务器同时支持,目前,IE浏览器不能低于IE10。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。浏览器将CORS请求分成两类:简单请求:发出COR...转载 2018-10-26 08:56:18 · 538 阅读 · 0 评论 -
【PHP-CTF】无字母无数字webshell
PHP无字母数字构造Webshell题目index.php:<?phpinclude 'flag.php';if(isset($_GET['code'])){ $code = $_GET['code']; if(strlen($code)>40){ //检测字符长度 die("Long."); } if(preg_match("...原创 2018-10-31 19:25:37 · 8429 阅读 · 1 评论 -
【42】WEB安全学习----PHP-ThinkPHP框架1
前言前不久参加了一个CTF比赛,有一道题是PHP代码审计,采用框架进行开发,因为从没有接触过框架学习,故找到了漏洞代码也不知道怎么构造利用,悲惨之极,现在恶补下。PHP框架在PHP中,目前主流的框架有:Zend Framework:重量级框架,由PHP官方出品,因为功能较全面,导致启动慢比较臃肿。YII:重量级框架,由美国华人薛强开发Symfony:重量级框架,一款国外框架...原创 2018-11-01 21:18:29 · 415 阅读 · 0 评论 -
【43】WEB安全学习----PHP-ThinkPHP框架2
模板常量替换机制__MODULE__:表示从域名后面开始一直到分组名结束的路由__CONTROLLER__:表示从域名后面开始一直到控制器结束的路由__ACTION__:表示从域名后面开始一直到方法名结束的路由__PUBLIC__:站点根目录下的public目录路由__SELF__:表示从域名后面开始一直到路由的最后模板内容获取在Thinkphp中,获取模板内容通...原创 2018-11-02 10:33:03 · 205 阅读 · 0 评论 -
浅析PHP-webshell
一、PHP后门函数1、命令执行函数exec适用范围:PHP 4, PHP 5, PHP 7 函数作用:执行一个外部程序,返回命令执行结果最后一行内容。string exec ( string $command [, array &$output [, int &$return_var ]] )<?php echo exec('cd')...原创 2018-11-02 12:02:03 · 1555 阅读 · 3 评论 -
【Linux学习】软件包管理
RPM软件包什么是RPM软件包RPM(Red Hat软件包管理器)是一种开放的软件包管理器,可运行于各种Linux系统上,对于用户来说,RPM简化了Linux系统的安装、卸载、更新和升级的操作。对于开发者来说RPM允许把原件编码包装成源码包和程序包,然后提供给用户。RPM数据库Linux系统会保留当前安装软件包的数据库,该数据库位于/var/lib/rpm中,该目录中大部分是二进制形...原创 2018-12-10 21:11:15 · 231 阅读 · 0 评论 -
【Linux学习】归档压缩和备份
归档和压缩简介归档也叫打包,是把多个文件和目录存储到一个文件中,归档文件没有经过压缩,它占用的空间是其中所有文件和目录的总和。压缩文件也是一个文件和目录的集合,但是它的存储方式使其占用的磁盘空间比原来小。压缩原理压缩是指利用算法将文件进行处理,以达到保留最多文件信息,而让文件容量变小的目的。压缩文件的基本原理是查找文件内的重复字节,建立一个相同字节的字典文件,并用一个代码表示,所以体...原创 2018-12-10 22:15:34 · 291 阅读 · 0 评论 -
【Linux学习】进程和服务管理
进程和服务管理查看进程 PSps命令是最基本的进程查看命令,使用该命令可以确定哪些进程正在运行及进程的状态、进程是否结束、进程是否僵死及占用资源等。ps [选项]-a 显示排除会话领导者和进程不与终端关联的所有进行-u 打印用户格式,显示用户名和进程的起始时间-x 显示不带控制终端的进程-e 显示所有的进程-f 显示UID、PPID、C和STIME字段-p &amp;lt;进程ID&amp;...原创 2018-12-11 09:25:07 · 290 阅读 · 0 评论 -
【Linux学习】任务计划
任务计划使用cron实现任务计划root用户可以修改/etc/crontab文件可以实现任务计划,而普通用户无法修改此文件。crond守护进程可以在无需人工干预的情况下,根据设置的时间和日期组合来调度执行重复任务。systemctl start crond.service #启动crond服务systemctl enable crond.service #设置开机自启动/etc/c...原创 2018-12-11 10:15:20 · 1208 阅读 · 0 评论 -
【Linux学习】权限及用户所有者管理
权限、所有者和ACL文件和目录权限说明在Linux系统中,用户对一个文件或目录具有访问限制,这些访问权限决定了谁能访问。通过设置权限可以限制或允许以下三种用户访问:文件的用户所有者(属主)、文件的组群所有者、系统其他用户。每一位用户都有对文件或目录的读取、写入和执行权限。r(读取):文件:具有读取文件内容权限;目录:具有浏览目录权限w(写入):文件:具有新增、修改文件内容的权限;目...原创 2018-12-11 14:11:11 · 722 阅读 · 1 评论 -
【Linux学习】网络配置
Linux网络基本配置/etc/sysconfig/network-script/ifcfg-enoxxx文件在Linux系统中,系统网络设备的配置文件保存在/etc/sysconfig/network-script目录下,其中文件ifcfg-enoxxx包含一块网卡的配置信息,文件ifcfg-lo包含回路IP地址信息。TYPE="Ethernet" //网络类型BOOTPROTO="...原创 2018-12-11 21:09:04 · 557 阅读 · 0 评论 -
【Java学习1】Java基础
为什么学习Java作为渗透测试工程师为什么要学习Java呢?一、在web应用方面,现目前企业大多数都是采用Java开发应用程序,自然随之而来的是各种中间件及框架不断爆出新漏洞如:struts2框架反序列化漏洞、weblogic中间件各种漏洞等。二是APP安全需要JAVA基础,后期会学习安卓开发与逆向。三是有很多安全工具都是采用JAVA开发。这就是为什么需要学习JAVA的原因!但我的目的不是开发...原创 2018-12-25 21:24:55 · 306 阅读 · 0 评论 -
【webshell分析】PHP大马分析
起因今天通过WAF拦截到了一个有趣的PHP大马,随后简单进行了分析。一开始看到这段代码,还以为是变形的一句话木马,但通过本地执行发现功能挺强大的。<?php$password='admin';//登录密码//本次更新:体积优化、压缩优化、命令优化、反弹优化、文件管理优化、挂马清马优化等大量功能细节优化。//功能特色:PHP高版本低版本都能执行,文件短小精悍,方便上传,功能强大...原创 2018-12-25 21:52:05 · 85786 阅读 · 0 评论 -
【Java学习2】面向对象之封装
类与对象的基本定义/*class 类名称{ 数据类型 属性; 方法;}类名称 对象名称 = new 类名称();*/class book{ String title;//书名 double price;//书的价格 public void getinfo(){ //方法 System.out.print("book name:" + titl...原创 2018-12-26 11:01:16 · 238 阅读 · 1 评论 -
【虚拟化技术】docker常用命令
仓库管理:search从仓库中查找镜像--no-trunc:显示完整的镜像描述docker search tomcatpulldocker pull从镜像仓库中下载镜像或更新指定镜像docker pull tomcat本地镜像管理images列出本地镜像-a:列出所有镜像,包括中间映像层-q:只显示镜像IDdocker imagesrmi删除本地一...原创 2018-12-21 16:01:15 · 198 阅读 · 0 评论 -
【Java学习5】包及异常处理
包的概念包主要用于将不同功能的文件进行分割。之前编译的class文件都保存在同一目录中,如果出现了同名文件,那么就会发生文件被覆盖问题,而要解决文件名冲突问题就必须设置不同的目录,所以包实际上指的就是文件夹,在Java中使用package关键字来定义包,此语句必须写在java源文件首行。定义包package com.miss.demo //定义程序所在的包public class He...原创 2018-12-27 11:26:10 · 506 阅读 · 0 评论 -
【Java学习4】面向对象之继承和多态
继承继承主要解决代码重用问题,利用继承可以从已有的类继续继承派生出新的子类,也可以利用子类扩展出更多的操作功能。继承的实现/*class 子类 extends 父类{}子类又称为派生类父类又称为超类*/class Person{ private String name; private int age; public void setName(Strin...原创 2018-12-27 10:17:46 · 355 阅读 · 0 评论 -
【Linux学习】系统安装
交换分区在安装linux系统时会设置交换分区(swap分区)大小,当Linux系统会在物理内存不足时使用交换分区的虚拟内存(内核会将暂时不用的内存信息写到交换分区中,这样物理内存就得到释放。)磁盘分区方案Linux系统使用字母和数字的组合来指代磁盘,文件名的格式为/dev/xxyN/dev:这是Linux系统下所有设备文件所在的目录名。xx:分区名的前两个字母表示分区所在的类型...原创 2018-12-09 11:19:26 · 1580 阅读 · 0 评论 -
【虚拟化技术】docker原理概述
本章主要理解docker的大概原理,及与虚拟机的区别。虚拟化技术虚拟化技术一般分为:硬件虚拟化:是运行在硬件之上的虚拟化技术,可以模拟硬件资源如:CPU、内存、显卡等资源,代表如VMWare、Xen、VirtualBox、AWS EC2、微软的Hyper-V等操作系统虚拟化:是运行在操作系统之上的,它模拟的是操作系统上的多个不同进程,并将其封装在一个容器里面,也称为容器化技术,而...原创 2018-12-20 08:53:31 · 766 阅读 · 0 评论 -
【Linux学习】安全基线配置检查
Linux服务器安全运维1、删除特殊用户和用户组Linux在系统安装完后,会默认安装很多不必要的用户和用户组,如果不需要这些用户或用户组,应删除它们,因为账户越多,越不安全。Linux系统中可删除的默认用户和用户组有:用户:adm、lp、sync、shutdown、halt、news、uucp、operator、games、gopher等用户组:adm、lp、news、uucp、ga...原创 2018-12-14 21:54:10 · 9296 阅读 · 0 评论 -
【SQL注入】盲注优化
SQL注入之盲注优化技术典型时间型盲注示例代码:&amp;amp;amp;amp;lt;?php header('content-type:text/html;charset=utf-8'); @$id=$_GET['id']; //传参 if(!isset($id)){ die('请传入GET方法id参数值'); } $mysqli=new mysqli(); ...原创 2018-12-20 15:19:58 · 1055 阅读 · 0 评论 -
【Linux学习】iptables
iptablesiptables其实不是正真的防火墙,而Linux内核中的netfilter安全框架才是正真的防火墙,iptable只不过是操作此框架的一个工具而已。netfilter是Linux内核层的一个数据包处理模块,具有网络地址转换、数据包内容修改、数据包过滤功能。防火墙服务不能停止,所以我们使用service iptables stop并不是正真停止防火墙,而是把规则库清空变成允许通...原创 2018-12-15 13:36:51 · 1226 阅读 · 0 评论 -
【Linux学习】Shell基础知识
长命令与短命令ls -l -a /root #长命令ls -la /root #短命令在Linux系统中,命令可以分为:bash内置的命令和应用程序。#可以使用which命令查看哪些命令是bash内置的命令,哪些是应用程序。root@DESKTOP-LRIII94:/# which ls/usr/bin/ls常用控制组合键Ctrl+l:清屏Ctrl+o:执行当前命令,并选择...原创 2018-12-10 10:35:32 · 287 阅读 · 0 评论 -
【Linux学习】目录和文件管理
文件分类在Linux系统中文件分为:普通文件、目录文件、设备文件、管道文件及链接文件普通文件:属性为-,一般是一些应用程序创建的文档等目录文件:属性为d,这样的文件就是目录文件设备文件:属性为b或c,如磁盘都是块设备文件、打印机和终端都是字符设备文件管道文件,属性为p,管道文件是从一头流入,从另一头流出链接文件,分为软链接和硬链接。软链接也叫符号链接文件,属性为l,硬链接是已存在...原创 2018-12-10 14:17:50 · 249 阅读 · 0 评论 -
【Java学习3】数组和String类
数组概念数组可以将多个变量进行统一的命名,这样相同类型的元素按照一定的顺序排序。在JAVA中,数组属于引用数据类型,所以在数组的操作中,也会涉及到内存的分配问题。声名并开辟数组/*数据类型 数组名称 [] = new 数据类型 [长度]数据类型 数组名称 [] = new 数据类型 []{值1,值2....}*/public class Text{ public stat...原创 2018-12-26 20:19:05 · 749 阅读 · 0 评论 -
【39】WEB安全学习----Jsonp跨域安全
同源策略同源策略/SOP是一种约定,它是浏览器最核心也最基本的安全功能,所谓同源是指"协议+域名+端口"三者相同。同源策略限制以下几种行为:1、Cookie、LocalStorage 和 IndexDB 无法读取2、DOM 和 Js对象无法获得3、AJAX 请求不能发送跨域解决方案jsonp跨域跨域资源共享(CORS)jsonp浏览器不会拦截调用外部静态文件请求,也就是sr...原创 2018-10-25 15:46:53 · 1002 阅读 · 0 评论 -
【5】WEB安全学习----JavaScript 一
目录一、基础知识1、如何引用js代码2、处理不支持JavaScript脚本的情况3、数据类型4、运算符 1、赋值运算符 2、数学运算符 3、位运算符 4、位操作符 5、比较运算符 6、逻辑运算符 7、逗号运算符 8、空运算符 9、三元运算符 10、对象运算符 11、ty...原创 2018-08-10 22:18:44 · 1001 阅读 · 0 评论 -
【13】WEB安全学习----MYSQL-3
目录 函数与操作符一、类型转换隐式转换:显式转换:二、流程控制IFIFNULL三、字符串函数四、日期时间函数五、加密和压缩功能六、其它函数功能函数与操作符一、类型转换隐式转换:当运算符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。某些转换是隐式发生的。例如,MySQL会根据需要自动将数字转换为字符串,反之亦然。SE...原创 2018-09-13 13:56:11 · 323 阅读 · 0 评论 -
【25】WEB安全学习----Oracle注入-1
一、Oracle基本知识组成部分Oracle数据库系统由数据库文件(保存在磁盘上的文件)、数据库实例(管理数据库文件的一组进程和内存结构)。应用程序连接到数据库时,实际上是连接到一个Oracle实例,由Oracle实例中的进程和内存来为应用程序提供服务。注意:在SQL server或MySQL中,当连接到数据库中可以同时管理多个数据库,这是因为实例就是数据库服务器引擎,,因此一个实...原创 2018-09-23 23:05:54 · 490 阅读 · 0 评论 -
【26】WEB安全学习----Oracle注入-2
一、环境介绍当前Oracle数据库中有两张表:users表和info表:采用PHP连接Oracle进行注入演示<?phpheader('content-type:text/html;charset=utf-8');if(!isset($_GET['id'])){ die('请传入ID值');}$id=$_GET['id'];$conn = @oci_con...原创 2018-09-24 15:54:11 · 297 阅读 · 0 评论 -
【15】WEB安全学习----PHP操作MYSQL
一、MySQLi扩展MySQLi扩展比MySQL扩展的优势:1、基于面向对象和面向过程的使用2、支持预处理语句(防止SQL注入)3、支持事务处理二、MySQLi面向对象使用MySQLi类中常用方法:mysqli::set_charset: bool mysqli::set_charset ( string $charset ) 设置默认字符编码mysqli::s...原创 2018-09-19 16:11:21 · 289 阅读 · 0 评论 -
【16】WEB安全学习----MySQL注入-1(MySQL基础知识)
目录 一、基础知识1、MySQL元数据2、注入常用查询步骤获取数据库名获取表名获取字段名查询数据3、MySQL注释单行注释:#单行注释:-- 多行注释:/* */4、MySQL时间延迟函数BENCHMARK()函数SLEEP()函数5、MySQL条件判断函数IF(exp,v1,v2)IFNULL(v1,v2)6、MySQL...原创 2018-09-19 17:28:17 · 428 阅读 · 0 评论 -
【17】WEB安全学习----MySQL注入-2(非盲注注入步骤)
目录一、MySQL联合查询注入常规步骤-非盲注1、数据库介绍2、PHP代码介绍3、SQL注入过程判断注入点判断MySQL版本猜字段数进行UNION联合查询二、猜解注入猜解表名猜解字段名猜解字段记录长度逐字猜解字段值一、MySQL联合查询注入常规步骤-非盲注1、数据库介绍当前数据库中有2个数据库:user数据库中有users表,flag...原创 2018-09-19 23:18:15 · 428 阅读 · 0 评论 -
【18】WEB安全学习----MySQL注入-3(非盲注注入例子)
通过上一章,学习了MySQL注入的步骤,这一章进行练习。PHP代码:与上一章不同,不同之处请看代码注释<?php header('content-type:text/html;charset=utf-8'); @$id=$_GET['id']; //传参 if(!isset($id)){ die('请传入GET方法id参数值'); ...原创 2018-09-20 10:02:41 · 206 阅读 · 0 评论