- 网站老是被上传木马后门,怎么办?推荐两步解决法
hwscom
服务器安全技术服务器安全运维
站长朋友们,基本上都遭遇过网页木马和网站后门吧!其中最出名的当属“一句话木马”,因为非常简短,真的只有一句话(如下图),并且一般都嵌入到网站正常代码内,让人难以察觉。(图一:一句话木马)黑客入侵服务器往往都会先入侵网站,植入木马后门,再通过该木马后门进一步窃取服务器权限。黑客植入木马后门主要有以下几种途径:在线上传漏洞、FTP信息泄露、跨站入侵。其中在线上传漏洞是最常用的途径,占比高达90%以上。
- SQL注入渗透与攻防(四)之文件读写
怰月
Web漏洞sql数据库网络安全
目录SQL注入之文件读写文件读写注入的原理文件读写注入的条件网站绝对路径读取文件写入文件案列演示之文件读取案列演示之文件写入SQL注入之文件读写文件读写注入的原理文件读写注入的原理就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。文件读写注入的条件高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限。secur
- 文件包含漏洞和上传漏洞
小高写BUG
渗透测试phpsql数据库渗透测试web安全
文章目录文件包含漏洞PHP文件包含漏洞远程文件包含漏洞截断包含JSP文件包含文件包含漏洞预防文件上传漏洞解析漏洞服务端检测目录验证文件内容检测预防方法一句话木马sql注入,有sql盲注,基于布尔的注入,还有基于时间的注入,union的使用条件字段数保持一致,可以用其他数据凑数补上。文件包含漏洞PHP文件包含漏洞文件包含:共用函数写到单个文件中,然后多次调用,文件包含漏洞:包含的文件可以被替换成恶意
- 安全见闻(3)
Bulestar_xx
泷羽sec学习笔记安全网络windows
摘要脚本程序主要讨论的是安全性问题。脚本语言因其源代码可见、可复制性高而具有脚本性质。常见的脚本语言包括:-Lua-PHP-Go-Python-JavaScript脚本语言可以编写病毒和木马,例如Python可以编写木马,PHP可以编写一句话木马。编写脚本病毒需要了解脚本语言基础和病毒构成。宏病毒(macro)可以通过工具如metasploit生成,并植入Office文件中,如Word和PPT。宏
- ACTF2020 新生赛 Upload 1
xinjuun
CTF网络安全
打开网页发现是个文件上传的页面,试着上传php文件,发现不行后,尝试burp抓包,修改文件后缀,进行前端绕过,发现可行。具体步骤如下:1、书写一句话木马,例如:eval和assert:php任意代码执行的一句话后门,我们喜欢用的是传统的eval,php5,7通用。create_function和preg_replace函数:create_function,它的作用是创建一个匿名函数,在内部也相当于
- 网络安全、Web安全、渗透测试之笔经面经总结
网络安全Ash
web安全安全
本篇文章涉及的知识点有如下几方面:1.什么是WebShell?2.什么是网络钓鱼?3.你获取网络安全知识途径有哪些?4.什么是CC攻击?5.Web服务器被入侵后,怎样进行排查?6.dll文件是什么意思,有什么用?DLL劫持原理7.0day漏洞8.Rootkit是什么意思9.蜜罐10.ssh11.DDOS12.震网病毒:13.一句话木马14.Https的作用15.手工查找后门木马的小技巧16.描述O
- DVWA通关之File Upload
CoOlCoKeZ
文件上传FileUpload,通常是由于对上传文件的类型,内容没有进行严格的过滤,检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传带来的危害常常是毁灭性的,Apache,Tomcat,Nginx等都爆出过文件上传漏洞。利用文件上传,我们可以上传我们的一句话木马,很方便的会获得系统shell。Low:源码分析一下:Yourimagewasnotuploaded.';}e
- web 安全 xss 蓝莲花平台获取服务器过程
lin_1226
web安全安全
xss分类xss跨站脚本攻击分为:反射型,存储型(存储在数据库等),DOM型反射型非持久型,攻击方式具有一次性,每次需要输入弹出,出现在URL中作为参数请求服务器,服务器解析并响应存储型持久型,存在服务器上,数据库、文件等DOM型xss平台——拿到后台——提权——拿服务器密码过程搭建蓝莲花平台利用xss平台拿到的cookie,登录后台利用漏洞上传一句话木马菜刀连接,getshell上传cmd、pr
- PHP一句话木马免杀方式汇总
A 八方
php开发语言安全web安全网络
目录PHP一句话木马免杀学习一句话木马的变形1.相同功能函数替换2.使用变量3.使用字符串拼接、大小写混淆、字符串逆序组合4.自定义函数5.回调函数6.str_replace函数7.base64_decode函数(编码绕过)8.parse_str函数9.preg_replace函数10."."操作符11.file_put_contents函数12.通过PHP的动态函数PHP一句话木马免杀学习简单了
- CTFHub技能树web之文件上传(二)
wz_fisher
网络安全安全
第四题:MIME绕过MIME类型校验就是我们在上传文件到服务端的时候,服务端会对客户端也就是我们上传的文件的Content-Type类型进行检测,如果是白名单所允许的,则可以正常上传,否则上传失败。首先对上传的一句话木马抓包将Content-Type这一栏改为image/jpeg上传成功,使用蚁剑连接,成功连接第五题:00截断%00是截断的意思,后面的内容舍弃上传一句话木马,抓包将filename
- 渗透测试之文件上传
little whhite
渗透测试java开发语言
一句话木马是php代码的标志system()命令执行函数$_GET['cmd']接收用户通过get方式请求提交的以cmd为参数的值@错误抑制符,用户传进的参数有误也不会直接报错或退出。通过物理机访问成功打开服务器上的计算器。将执行命令函数换成eval()输入phpinfo得到php的配置信息system()是执行系统命令和eval()将传进来的值按照php代码来执行。在实战环境中,我们不能看到服务
- ctfshow [web] 文件上传 156--160
D2490
CTF前端php服务器
Web156.user.ini文件可以正常上传,可以先上传.user.ini文件然后再上传写有木马的png图片,然后访问/upload页面Web157可以上传.user.ini文件,new.png也可以正常上传,操作和上题一样。Web158操作和上题一样。一句话木马:GIF89aWeb159可以上传user.ini文件,不过木马上传失败了。看了一眼题解,发现括号被过滤了,需要用反引号执行命令。:G
- CTFshow Web入门 文件上传
一夜至秋.
web安全
目录web151web152web153web154web155web156web157web158、web159web160web161web162web163web164web165web166web167web168web169web170web1511.写马改后缀为png上传,抓包修改文件信息回显路径,蚁剑连接2.先构造一句话木马php文件修改前端,然后上传php文件进入路径POST传参,
- 文件上传漏洞
技术小白痴
安全web漏洞web渗透安全web服务器程序人生sql
文件上传漏洞一、文件上传原理1.在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。2.文件上传漏洞对Web应用来说是一种非常严重的漏洞。一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等W
- php伪协议之phar
郑居中3.0
web漏洞php开发语言php伪协议phar
一.phar协议用于将多个PHP文件、类、库、资源(如图像、样式表)等打包成一个单独的文件。这个归档文件可以像其他PHP文件一样被包含(include)或执行。PHAR归档提供了一种方便的方式来分发和安装PHP应用程序和库,尤其是当它们包含许多文件和目录时1.格式将一句话木马(shell.php)压缩成压缩包形式(shell.zip),将压缩包后缀改为.jpg(shell.jpg)phar://s
- CTFshow web(文件上传151-154)
补天阁
前端php开发语言CTFshowweb安全
web151哈,都直接送嘴边了,前端检测领域的问题,那就改前端啊,作者都直接提示了!第一种方法也是最好用的就是直接把前端内容的png改成php就好这里教大家一个非常好用的技巧,可以极大节省你的时间,因为代码比较多,你不可能一个个去翻看,所以把鼠标靠近上传图片,然后右键检查元素,就会自动帮你定位,接下来把png改成php,就可以直接上传一句话木马ps:当然了,你不直接在前端改也是可以的,这里也是可以
- 【ctfshow】文件上传web151-170wp
Sunlight_614
CTFshow前端php开发语言
文件上传web151-170web1511.编写一句话木马上传2.修改前端验证3.在蚁剑上找flagweb1521.修改前端验证2.burp抓包后修改MIME3.在蚁剑上找flagweb1531.修改前端验证2.上传ini配置文件3.上传1.txt文件4.访问upload目录可进行命令执行web154-web1581.修改前端验证2.上传ini配置文件3.上传1.txt文件4.在蚁剑上找flagw
- ctfshow 文件上传 web151~170
succ3
ctfshow_web入门phpweb安全
目录web151web152web153web154web155web156web157~159web160web161web162~163web164web165web166web167web168web169web170参考:web151上传提示,前端验证上传.jpg文件然后抓包,改文件名为.php,加入一句话木马。upload/1.php?1=system("cat/var/www/html
- bugku 1
木…
android
Flask_FileUpload文件上传先随便传个一句话木马看看回显果然不符合规定而且发现改成图片什么的都不行查看页面源代码,发现提示那应该就要用python命令才行试试ls类型要改成图片cat/flag好像需要密码bp爆破根据提示,我们先抓包爆破得到密码12328得到flag文件包含点一下尝试直接访问看样子要用php://filter协议?file=php://filter/read=conve
- XCTF-攻防世界CTF平台-Web类——11、upload1(文件上传、前端校验)
大灬白
#BugkuXCTF-WEB类写题过程前端web安全安全javascriptphp
目录标题(1)把οnchange="check();去掉(2)禁用浏览器的JS脚本运行(3)BurpSuite抓包修改文件后缀名POST方法一句话木马GET方法一句话木马蚁剑连接打开题目地址:是一个文件上传的题目选择一个一句话脚本上传:前端存在JS代码校验文件类型,如果上传的文件后缀不是jpg和png,就会让上传按钮变得不使能:要绕过前端的JS代码校验,常见的方法有:(1)把οnchange="c
- ctf模拟赛题解
别问我,我什么都不知道
web安全网络安全安全
Web①我的生日直接百度哆啦a梦的生日:2112年9月3日21120903就是答案:②input查看页面源码:发现flag就是str,那么只要打印str就知道flag了:③刮刮乐根据提示一直刮卡,没中奖就刷新接着刮:④ctf_judge尝试用手工sql注入:⑤包罗万象只允许上传类型中有zip类型,那么可以将一句话木马压缩成zip文件上传,用蚁剑连接这里注意上传路径为http://10.14.3.1
- wordpress 后台 webshell
msnmessage
4.2.4版本中,uploads目录不解析。所以,之前,直接通过安装插件的方式然后在media中找马的方式不行了。通过找了很多资料后,发现较早流行的一个方式还可以:fuck.php一句话木马打包压缩成fuck.zip插件、安装插件、上传fuck.zip/wp-content/upgrade/fuck/fuck.php
- Webshell&一句话木马
晗神
androidweb安全网络安全网络协议phpsql网络攻击模型
一、webshell介绍(网页木马)分类:大马:体积大、隐蔽性差、功能多小马:体积小,隐蔽强,功能少一句话木马:代码简短,灵活多样二、一句话木马:@:不显示函数错误信息eval将一个满足php代码格式的字符串当作代码执行执行代码函数:eval、assert、preg_replace()、create_function()、array_map()、array_filter()执行命令函数system
- 渗透测试练习题解析 2(CTF web)
安全不再安全
CTFweb安全前端网络安全web安全安全架构网络攻击模型
题目均来自BUUCTF1、[极客大挑战2019]Upload1考点:文件上传漏洞进入靶场一看就知道是考察文件上传漏洞,看源码有没有敏感信息没有什么敏感信息,那我们试着按要求传一张图片看看结果,但是传了png、jpg类型的图片后发现上传不了,显示均如下图所示,只有GIF能上传成功,猜测应该是对文件头进行了判断,只允许文件头为GIF89a(GIF的文件头)的文件上传尝试写一句话木马,前面加上GIF的文
- 蚁剑返回数据为空的几种原因
fann@qiu
安全测试工具
中国蚁剑返回数据为空,1,可能是post没有大小写,2,看防火墙有没有关,3,代理是不是手动。一句话木马今天连接蚁剑死活连不上到头来发现post没有大写然后就连接成功了4.格式要换成base64,上下格式都要换成base64
- BUU UPLOAD COURSE 1
Fab1an
CTF网络安全web安全http网络笔记
进去之后是一个上传页面尝试上传一句话木马的php代码,保存为一个1.php,然后上传发现后缀名被改为jpg了访问一下http://a82bcc09-b809-42c9-b5ad-5406b72e5707.node5.buuoj.cn:81/uploads/65bfa77eab1f6.jpg发现可以预览,但是执行不了木马的代码状态码405MethodNotAllowed表明服务器禁止了使用当前HTT
- sql注入之GETSHELL
Z时代.bug(゜▽゜*)
理论sql笔记
2024.2.1GETSHELL利用SQL注入获取MYSQL数据库权限的要求:文件读写基本要求:是root用户最高权限知道网站的绝对路径文件读写注入的原理:利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息文件读写注入的条件:高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限secure_file_priv选项se
- 零基础到精通Web渗透测试的学习路线
网安福宝
网络安全渗透测试渗透测试学习web渗透web安全渗透测试从入门到精通
Web安全相关概念熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。1.通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;2.阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;3.看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);熟悉渗透相关工具熟悉AWVS、sqlmap、Bur
- [SWPUCTF 2021 新生赛]easyupload2.0
Ryongao
NSSCTF网络安全
一开始我通过cobaltstrike写一个文件上传的木马它不允许上传php文件我这边写了一句话木马通过burp拦截修改后缀为phtml然后通过蚁剑找flag
- 应急响应事件处置指南
M1r4n
应急响应网络安全
注意:以下的事件处置类型是常见的,但安全威胁不断演化,因此可能需要根据具体情况进行调整。1Webshell类1.1常见Webshell类型1.1.1一句话木马特征:一句话木马代码简短,通常只有一行代码,使用灵活,可以作为单独的文件也可以插入正常文件,通常为了达到隐蔽持续控制的效果,攻击者会对一句话木马进行变形混淆。1.1.2小马特征:小马一般功能单一(仅支持文件上传操作、命令执行等),文件体积较小
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include