自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 ssrf 漏洞

SSRF 原理(服务器请求伪造) 中间人攻击 是一种由web服务器发出请求的漏洞,它能够请求到与 它相连的内网资源(与外网隔离的内部系统).因此SSRF 主要测试目标是企业的内网系统。 很多web应用提供从其他服务器获取数据的功能,可以根据 用户提交URL访问对应资源(获取图片,下载文件,读取内容) 如果该功能作为代理通道去访问本地或远程服务器,这就是所谓 的SSRF。SSRF的强大和成功几率由函数本身功能决定 即代码中是什么函数其功能有多强大,那么存在SSRF漏洞的话,漏洞利用的概

2021-07-05 08:41:11 254

原创 扫描器原理

扫描的分解动作 1.统一沟通语言 2.发出刺激 3.受到刺激的反馈 4.通过对比刺激和反馈完成扫描

2021-07-03 12:59:43 326

原创 uplload 通关纪实 pass21

$is_upload = false;$msg = null;if(!empty($_FILES['upload_file'])){ //检查MIME $allow_type = array('image/jpeg','image/png','image/gif'); if(!in_array($_FILES['upload_file']['type'],$allow_type)){ $msg = "禁止上传该类型文件!"; }else{

2021-07-02 08:01:53 211

原创 uplload 通关纪实 pass20

$is_upload = false;$msg = null;if (isset($_POST['submit'])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array("php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asa

2021-07-01 15:13:05 114 1

原创 uplload 通关纪实 pass19

//index.php$is_upload = false;$msg = null;if (isset($_POST['submit'])){ require_once("./myupload.php"); $imgFileName =time(); $u = new MyUpload($_FILES['upload_file']['name'], $_FILES['upload_file']['tmp_name'], $_FILES['upload_file']['size

2021-07-01 15:10:56 122

原创 uplload 通关纪实 pass18

源代码如下:$is_upload = false;$msg = null;if(isset($_POST['submit'])){ $ext_arr = array('jpg','png','gif'); $file_name = $_FILES['upload_file']['name']; $temp_file = $_FILES['upload_file']['tmp_name']; $file_ext = substr($file_name,strrpos($

2021-07-01 15:09:10 117

原创 uplload 通关纪实 pass17

$is_upload = false;$msg = null;if (isset($_POST['submit'])){ // 获得上传文件的基本信息,文件名,类型,大小,临时文件路径 $filename = $_FILES['upload_file']['name']; $filetype = $_FILES['upload_file']['type']; $tmpname = $_FILES['upload_file']['tmp_name']; $targ

2021-07-01 15:05:39 79

原创 uplload 通关纪实 pass16

exif_imagetype(string $filename)//读取一个图像的第一个字节并检查其签名因此此函数需要开启php_exif模板,php_exif在phpstudy主界面–其他选项菜单–PHP扩展及设置–PHP扩展里面。此外还需要在php.ini(在phpstudy主界面的其他选项菜单–打开配置文件里面)里修改,将;extension=php_exif.dll前面的;去掉,然后保存重启。接着操作跟Pass-14和Pass-15的操作一样。源代码如下:function isImag

2021-07-01 15:03:38 80

原创 uplload 通关纪实 pass15

根据源代码,我们可以知道这是通过使用getimagesize()来检查是否为图片文件上传图片马进行绕过。同Pass-14。首先上传一个gif文件,然后用burp抓包:之后发送到repeater模块,点击Go,成功上传:接着我们访问如下图所示的网址,成功访问到页面:用菜刀连接:成功访问到:...

2021-07-01 15:01:33 128

原创 uplload 通关纪实 pass14

这一关会读取判断上传文件的前两个字节,判断上传文件类型,并且后端会根据判断得到的文件类型重命名上传文件。使用 图片码 + 文件包含 绕过。源代码如下:function getReailFileType($filename){ $file = fopen($filename, "rb"); $bin = fread($file, 2); //只读2字节 fclose($file); $strInfo = @unpack("C2chars", $bin);

2021-07-01 14:59:36 116

原创 uplload 通关纪实 pass13

与Pass-12的区别是这里使用POST传地址,POST不会对里面的数据自动解码,需要在Hex中修改。直接在 hex 的值中修改,形成 0x00 截断进行绕过即可。源代码如下:$is_upload = false;$msg = null;if(isset($_POST['submit'])){ $ext_arr = array('jpg','png','gif'); $file_ext = substr($_FILES['upload_file']['name'],strrpos($

2021-07-01 14:57:32 108

原创 uplload 通关纪实 pass12

%00截断的条件是要满足以下几点:php 版本小于 5.3.4;php的magic_quotes_gpc为OFF状态(magic_quotes_gpc在phpstudy主界面–其他选项菜单–PHP扩展及设置–参数开关设置里,然后改为off状态后记得重启一下phpstudy服务)。查看源码和提示,上传路径可控,并且是最终文件的存放位置是以拼接的方式,可以使用%00截断,但需要php版本<5.3.4,并且magic_quotes_gpc关闭。原理是:php的一些函数的底层是C语言,而move_upl

2021-07-01 14:53:23 124

原创 uplload 通关纪实 pass11

查看源码后,发现其对存在黑名单中的字符进行替换,但str_ireplace()函数只替换一次,因此修改文件名为1.pphphp后可以成功绕过。首先上传一个php文件,并用burpsuite抓包:然后发送到repeater模块,修改11.php为11.pphphp,点击Go,之后成功上传,如下图所示:连接菜刀:成功访问到目标文件:...

2021-07-01 14:51:27 73

原创 uplload 通关纪实 pass10

这一关是将文件名进行过滤操作后,将文件名拼接在路径后面,所以需要绕过前面的首尾去空以及去点。这一关黑名单,最后上传路径直接使用文件名进行拼接,而且只对文件名进行filename=deldot(file_name = deldot(filen​ame=deldot(file_name)操作去除文件名末尾的点,构造后缀绕过黑名单.源代码如下:$is_upload = false;$msg = null;if (isset($_POST['submit'])) { if (file_exists

2021-07-01 14:49:33 79

原创 uplload 通关纪实 pass9

特殊符号绕过原理:Windows系统下,如果上传的文件名中test.php::DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。去除了对字符串::DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。去除了对字符串::DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。去除了对字符串::DATA的过滤,选择选择后缀为.php的一句话上传,抓包后在后面增加::$DATA,上传成功。源代

2021-07-01 14:46:51 92

原创 uplload 通关纪实 pass8

这一关黑名单,没有使用deldot()过滤文件名末尾的点,可以使用文件名后加.进行绕过。并且Windows系统下,文件后缀名最后一个点会被自动去除。源代码如下:$is_upload = false;$msg = null;if (isset($_POST['submit'])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html","

2021-07-01 14:44:22 64

原创 uplload 通关纪实 pass7

Windows系统下,对于文件名中空格会被作为空处理,程序中的检测代码却不能自动删除空格。从而绕过黑名单。针对这样的情况需要使用Burpsuite阶段HTTP请求之后,修改对应的文件名 添加空格。源代码如下:$is_upload = false;$msg = null;if (isset($_POST['submit'])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array(".php",".php5",".php4",

2021-07-01 14:41:48 76

原创 uplload 通关纪实 pass6

这一关将htaccess也ban了。大小写绕过原理:Windows系统下,对于文件名中的大小写不敏感。例如:test.php和TeSt.PHP是一样的。Linux系统下,对于文件名中的大小写敏感。例如:test.php和 TesT.php就是不一样的。去除对文件后缀名的转为小写设定,可以直接选择后缀名为.PHp等非黑名单中存在的格式上传。同样也可以抓包到repeater模块修改文件后缀名为.PHp等等非黑名单中存在的格式上传。源代码如下:$is_upload = false;$msg = n

2021-07-01 14:39:22 84

原创 uplload 通关纪实 pass5

php.ini 是 php的配置文件,.user.ini 中的字段也会被 php 视为配置文件来处理,从而导致 php 的文件解析漏洞。但是想要引发 .user.ini 解析漏洞需要三个前提条件:服务器脚本语言为PHP;服务器使用CGI/FastCGI模式;上传目录下要有可执行的php文件。源代码如下:$is_upload = false;$msg = null;if (isset($_POST['submit'])) { if (file_exists(UPLOAD_PATH))

2021-07-01 14:36:23 86

原创 uplload 通关纪实 pass4

(1)配置文件httpd.conf需要:1.开启mod_rewrite模块(mod_rewrite模块可以操作URL的所有部分(包括路径信息部分), 在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效, 还可以生成最终请求串。)。2.AllowOverride All(所有具有 .htaccess 作用域的指令都允许出现在 .htaccess 文件中)。(2)上传.htaccess(.htaccess文件可以的事情,主要包括:文件夹密码保护、用户自定义重定向、自定义404页面

2021-07-01 14:31:09 112

原创 uplload 通关纪实 pass3

上传黑名单内没有被过滤掉的文件后缀名。查看源码,发现是黑名单检测,只要上传php其他相关的文件后缀名文件即可,例如:.phtml,.phps,.php3,.php5,.pht等等。先修改一下httpd.conf文件,在里面加上一行:AddType application/x-httpd-php .php3 .php4 .phtml .phps .php5 .pht:修改完保存文件之后记得重启一下phpstudy,这样文件才会生效。先上传一个3.php文件,用burpsuite抓一下包:之后修

2021-07-01 11:34:34 121

原创 uplload 通关纪实 pass2

1、抓包改content-type类型。2、抓包改文件后缀名。源代码:之后修改content-type类型为image/jpeg、image/png、image/gif的其中一个,如下图所示:放包之后查看:查看一下图片所在的目录:之后用菜刀连接:成功访问到目录:(2)使用burpsuite抓包改包,修改文件后缀名jpg为php。先设置下代理:接着开启burpsuite:接着再制作一个图片马,如下图所示:上传a.jpg,成功抓到包如下图所示:接着在burpsu

2021-07-01 10:02:58 103

原创 uplload 通关纪实 pass1

源代码:两种方法:使用NoScript插件禁用js。抓包改文件后缀名。上传1.php文件,发现无法上传此类型的文件。查看源码:发现是前端js校验。(1)可以通过NoScript插件禁用js来绕过:创建1.php:上传1.php:上传成功。检查元素,查看到图片的保存路径:用菜刀连接,成功访问到目录:(2)使用burpsuite抓包改包,修改文件后缀名jpg为php。先上传一个图片马,使用burpsuite抓包:接着把1.jpg改成1.php,如下图所示:然后

2021-07-01 09:48:45 87

原创 XSS钓鱼攻击原理

2021-06-29 21:00:33 420

原创 post型XSS的利用:cookie获取

1.REQUEST伪造页面,触发表单攻击者伪造表单自动提交页面2.页面js自动post 表单数据,触发XSS存在post型XSS漏洞网站3.执行js,窃取cookie4.伪造用户登录,造成伤害

2021-06-29 20:48:41 297

原创 DOM型XSS

什么是DOM? 通过JAVASCRIPT ,可以重构整个HTML文档.您可以添加 移除 改变或重排页面上的项目. 要改变页面的某个东西,javascript就需要获得对HTML文档中 所有元素进行访问的入口.这个入口,连同对HTML元素添加 移动 改变 或移除的方法和属性,都是通过文档对象模型来获得 (DOM) 所以,你可以把DOM理解为一个一个访问HTML的标准编程接口...

2021-06-29 20:13:33 91

原创 存储型xss漏洞

存储型XSS漏洞反射形成的原因一样,不同的是存储型XSS下攻击者可以将脚本注入到后台存储起来,构成更加持久的危害,因此存储型XSS也称’'永久型’XSS.

2021-06-29 19:59:42 1102

原创 跨站脚本漏洞测试流程

1.在目标站点上找到输入点,比如查询接口,留言板等;2.输入一组’‘特殊字符+唯一识别字符’,点击提交后,查看返回的原码.是否有做对应的处理3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合)4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞TIPS:1.一般查询接口容易出现反射型XSS,留言板容易出现存储型XSS;2.由于后台可能存在过滤措施,构造的script可能会被过滤掉,而无法生效,或者环境限制了执行(浏

2021-06-29 18:25:33 508

原创 跨站脚本漏洞常见类型

危害:存储型>反射型>DOM型反射型 交互的数据一般不会被存在字数据库里面,一次性,所见即所得, 一般出现在查询界面存储型 交互的数据会被存在在数据库里面,永久性存储,一般出现在留言板, 注册等页面.DOM型不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性也属于反射型....

2021-06-29 18:07:36 396

原创 xss 面试题

一、什么是 XSS XSS全称(Cross Site Scripting)跨站脚本攻击,是最常见的Web应用程序安全漏洞之一,位于OWASP top 10 2013/2017年度分别为第三名和第七名,XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。从上面中的一段话,可以得知,XSS属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着XSS可以进行“服务端

2021-06-28 22:10:34 1017

原创 sqlmap 主要参数

-r 可以将一个post请求方式的数据包保存在一个txt中,sqlmap会通过post方式检测目标-u 指定一个url连接,url中必须有?xx=xx 才行(最常用的参数)–level –level 是测试等级意思就是说我要更加耐心仔仔细细的加强检测等级3 如果没有level 默认等级是1的一共有5个等级(1-5) 不加 level 时,默认是15级包含的payload最多,会自动破解出cookie、XFF等头部注入,相对应他的速度也比较慢。risk 级别0-3,默认1从0-3共有

2021-06-28 21:57:49 485

原创 mysql 数据库 实战

mysql 数据库数据库最高的权限用户是root密码保存在mysql数据中的user表中,密码采用mysql5 特有的加密,通过cmd网站进行解密或通过cain等这列专业可以对mysqlhash破解所以对数据库做安全的时候无论如何不能给网站root权限一定要给一个普通用户权限.实战过程第一步先检查注入点 ’ and 1=1 and1=2第二步 ’ order by 1,2–+ 查询主查询字段数如果是在URL进行POST型字符型注入–后会加个+第三步 查询数据库用户名 版本和库名第四

2021-06-28 02:17:03 141

原创 sql server public 权限实战

public 权限第一步获取当前网站数据库名称最低的权限也是可以脱库的and db_name()=0-- 获取当前数据库的名称第二步,通过having 1=1 来爆表名和字段名第三步, group by admin.id having 1=1 爆出admin 表的字段 name第四步,把得到的 name id 带入进去 group by admin.id,admin.name having 1=1-- 得到password第五步,获取字段内容//and//(select//top/

2021-06-28 02:15:15 511

原创 sql server dbowner 权限 实战

具有dbowner角色的用户,能够对数据库执行所有配置和维护操作。例如创建和删除表、存储过程、视图、函数,甚至删除数据库,还可以给其他用户设置权限。只有增、删、改权限的用户只限于添加、删除和修改记录,其它操作都会受到限制。第一步 查看当前网站是否为db_owner 权限and 1=(select is_member(‘db_owner’) );-- 判断当前数据库用户是否为db_owner 权限第二步:找出网站路径1.通过报错或baidu google 等查找 通过搜索引擎收录报错的页面看看里

2021-06-28 02:14:03 1862 1

原创 MSSQL注入SA权限不显错模式下的入侵

第一步判断是不是微软的sqlserver 数据库and exists (select * from %20 sysobjects )第二步查询当前数据库系统用户and system_user=0第三步检查权限是否为SAand 1 =(slect IS_SRVROLEMEMBER(‘sysadmin’))第四步判断一下xp_cmdshell 存储过程是否存在and 1=(select count (*) from master.dbo.sysobjects where name = ‘xp_c

2021-06-27 22:49:09 112

原创 accesss数据库 注入

Access数据库及注入方法 Access数据库的函数 select len("string") 查询给定字符串的长度 select asc("a") 查询给定字符串的ascii值 top n 查询前n条记录 select mid("string",2,1) 查询给定字符串从指定索引开始的长度盲注Access数据库Access没有数据库的概念,所有的表都是在同一个数据库下。所以,我们不用去判断当前的数据库

2021-06-27 21:16:35 90

原创 MySQL各版本的区别

4.1 之前不支持子查询语句5.0 增加了INFORATION_SCHEMA系统数据库。

2021-06-27 20:31:54 320

原创 sql注入的提交方式

post 可通过安装火狐浏览器插件(hackbar)或 Burp 工具来完成 get 一般直接通过浏览器地址栏提交 cookie 一般通 Burp 工具来完成,修改cookie,进行一个注入

2021-06-27 19:55:54 186

原创 二次编码注入

宽字节注入和二次编码注入:是在面对PHP代码或配置,对输入‘(单引号)进行转义的时候在处理用户输入数据时存在问题,可以绕过转义二次注入原理,主要分为两部第一步:插入恶意数据第一次进行数据库插入数据的时候,仅仅对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身包含恶意内容。第二步:引用恶意数据在将数据存入到数据库中之后,开发者就认为数据是可信的。在下一次需要进查询的时候,直接从数据库中取出恶意数据,没有进行进一步检验和处理,这样就会造成SQL的二次注入

2021-06-27 19:00:36 300

原创 宽字节注入方法原理

方法:在注入点后键入%df,然后按照正常的注入流程开始注入黑盒测试:有可能的注入点后键入%df,以后进行注入测试白盒测试:1.查看mysql编码是否为GBK2.是否使用preg_replace把单引号替换成’3.是否使用addslashes进行转义4.是否使用MYSQ_real_escape_string进行转义...

2021-06-27 14:32:47 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除