- 博客(21)
- 收藏
- 关注
原创 文件上传漏洞-通过.htaccess文件绕过
3.先将.htaccess上传上去,然后再打开抓包上传木马文件(1.php),然后将名字修改成1.jpg,因为刚刚的.htaccess已经上传到服务器,告诉服务器.jpg文件可以当作.php文件执行。通过这个文件,网站管理员可以进行各种配置,例如重定向、访问控制、URL重写等。结尾的文件都当作 PHP 脚本来处理,而不是作为普通文本文件或图像文件。这意味着,即使它们有文本或影像文件的扩展名,服务器将尝试执行其中的 PHP代码。2.这里以upload-labs(less-4)为例,我们先来看看靶场的源代码。
2024-10-30 15:37:42 359
原创 等价文件名绕过
2.这里用upload-labs(less-3)进行示例,将抓包中的php后缀修改成test.phP2/然后放过。fuzz字典:https://github.com/evi1hack/Fuzz_dic/tree/master。5.发现都能上传成功,接下来就按之前说的直接利用蚁剑连接即可。1.绕过黑名单绕过(等价扩展名-pass-03)4.这里再用bp对后缀进行批量爆破一下。下载后就是所有php文件参数的后缀。3.这里发现文件成功上传。
2024-10-23 19:45:13 313
原创 绕过MIME-Type验证
是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。先打开拦截并且上传,发现这边的content-type也就是上传类型不是image或者png类型,这肯定事不允许上传的,我们只需要将content-type修改成image/png格式即可。媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:Content-Type: text/HTML。
2024-10-16 13:47:32 159
原创 文件上传漏洞-绕过js验证
Web应用系统虽然对用户上传的文件进行了校验,但是校验是通过前端javascript代码完成的。由于恶意用户可以对前端javascript进行修改或者是通过抓包软件篡改上传的文件,就会导致基于js的校验很容易被绕过。这里以upload-labs less1为例,随便上传一个php文件发现网络并没有波动,说明这个拦截是通过前端JavaScript代码完成的。打开开发者工具调试面板,选择网络,然后上传图片文件和非图片文件,然后对这两个文件的变化进行对比,如果网络中。(有变化说明,前端没有做验证,
2024-10-14 23:16:18 546
原创 XSS(内含DVWA)
反射型 XSS:即时反射,依赖用户点击链接,通常是一次性的。存储型 XSS:恶意代码存储在服务器上,多次执行,影响广泛。DOM型 XSS:常在客户端,通过操控 DOM 元素来执行,无需与服务器交互。
2024-09-27 23:54:06 911
原创 脚本注入网页:XSS
我前面讲的是要将一段JavaScript代码注入到网页中,如果我们将代码执行上去,需要将信息弹出来,这里我们用代码如下,发现果然弹窗了,也就是说,如果我们能找到一个存在漏洞的输入框,并且将类似的执行代码放到输入框中,就能达到某些目的。我们再通过get请求,给到一个JavaScript的伪协议 ,发现网站确实执行了这段代码,假如加入的是一段恶意代码,那当用户点击的时候就会达到攻击的目的。主要就是我们给它一个url,它会给到一个指向自己的超链接,例如我们输入下列代码,就发现它形成了一个指向baidu的超链接。
2024-09-23 23:21:46 820
原创 HTTP协议回顾
响应中通常包含状态码(表示请求的结果,如200表示成功,404表示未找到等)、响应头(提供关于响应的元数据)和响应体(实际的资源内容,如HTML文档、JSON数据等)。客户端在收到这个响应后,会自动向新的URL发起请求。:由于每个请求是独立的,服务器不会存储客户端的状态信息,这意味着每个请求都携带所有必要的信息,服务器通过请求中的数据进行处理,这样设计使得服务器更容易扩展和维护。:无状态的设计简化了服务器的实现,因为服务器不需要保存和管理会话状态,因此可以更有效地处理大量独立请求,减少了服务器的内存消耗。
2024-09-21 00:59:40 1209
原创 CSRF典型案例以及危害
3.在我们攻击的时候,是否需要将恶意请求注入到网站上,如果是,就是XSS攻击,难度会高一些,需要网站,服务器有这样的漏洞才能注入进去,但是CSRF漏洞,只要它本身出问题的接口,它没有经过校验,我们就可以直接在第三方网站发起调用,不需要将恶意代码注入到目标网站里,只需要将恶意代码请求放在黑客事先准备好的第三方网站中。CSRF的流程是我们的用户在登录了之后,访问了一个第三方网站,第三方的网站代码里包含了对于被攻击的服务器的接口的调用,然后直接利用用户原有的cookie请求成功了。3.CSRF漏洞的危害。
2024-09-16 16:42:45 1101
原创 SQL注入-查询方式
当我们进行SQL注入的时候,有很多注入会出现没有回显的情况,其中不回显得原因可能是是因为SQL语句查询方式问题导致的,这个时候我们需要用到报错或者盲注进行后续操作,同时在注入的过程中,提前了解其中SQL语句可以更好的选择对应的注入语句。
2024-08-01 15:58:04 607
原创 SQL注入-靶场案例练习
接下来知道了语句闭合的方法,就尝试直接利用盲注来查找字段数,直接用联合查询,select 1,select 1,2.....一个个进行尝试,发现在输入select 1,2的时候页面显示了1和2,再输入1,2,3的时候页面就报错了,此刻我们就知道了该页面的字段数为2。我们传参行改为下列语句,在用户名里一般是不会有-号开头的,一般是字符串,所以在admin前的-就是让uname是找不到这个参数的,以便于不会覆盖掉后面联合查询的1和2,而最后的--+属于注释符,将后面的语句闭合掉。',",)也有可能是;
2024-07-30 00:19:47 736
原创 SQL注入-数据提交方式
POST提交是直接传递给服务器的,这边以sqli-less11为例,这也是一个典型的登录界面,它在url里是没有数据的,我们再通过网络的源代码来看看,先找到表单的代码,也就是形成登录框的代码,里面的metho="post",指的就是通过post进行数据传输。GET方式因为比较简单,这边简单通过sqli-less2的代码来过一下,通过图一可知代码中的提交方式就是GET,打开网页后,发现在url中是有数据的,那我们就知道这是GET型的注入。,因为数据是嵌套在URL中的,所有人都能看到,这就很危险。
2024-07-28 23:57:01 357
原创 SQL注入-数据类型
许多网页链接有类似的结构 http;id=1基于此种形式的注入,一般被叫做数字型注入点,缘由是其注入点id类型为数字,在大多数的网页中,诸如查看用户个人信息,查看文章等,大都会使用这种形式的结构传递id等信息,交给后端,重询出数据库中对应的信息,返回给前台。这一类的SQL语句原型大概为select* from表名 where id=1若存在注入,我们可以构造出类似与如下的sql注入语句进行爆破: select* from表名where id=1 and 1=1。
2024-07-27 17:37:04 1254
原创 SQL注入-基础防御
我们如果要查询数据就肯定要执行sql语句,这就意味着语句中肯定包含某些关键字,例如select *from user where id=1中select就是一个关键字,同样的,进行插入时就会有insert,update等,所谓的关键字过滤就是对这些后面的语句进行过滤。str_replace()函数 下列语句就代表将字符串”Hello world“ 中的”world“ 替换成”shanghai“php");?
2024-07-26 00:36:47 822
原创 SQL注入-高权限注入(下)
这篇文章通过一个简单的例子,利用高权限进行一个跨库的查询。同时我们要注意的是,进行高权限注入的时候,有两个前提条件,第一个是我们的用户名是root的情况下,第二个是网站的数据库为高版本数据库(具有系统库),但现在基本百分之九十用的都是高版本的数据库,
2024-07-24 00:37:36 650
原创 在mysql中创建数据库,数据表,数据列,插入数据
发现已经创建成功,接着先使用test,进入test库中,在数据库中创建数据表t1的。示例在mysql中创建数据库test,创建数据表t1,在表中插入数据。先输入下列查看数据库的指令,查看已经存在的数据库。接着同select语句查看t1表中是否有数据插入。接着查看数据库,发现test库已经被删除。然后直接向表中插入数据即可,用下列语句。接着输入下列语句创建数据库test。想要删除数据库的话,使用下列语句。
2024-07-23 02:26:45 265
原创 SQL注入-高权限注入(上)
在上上个文章中有提到,在我们搭建的mysql数据库的服务器中包含4个数据库,分别数information_schema库,informance_schema库,mysql库,以及sys库,其中mysql库里就有保存我们用户的一些信息,包括能够访问的权限等。高权限注入就是例如网站A含有SQL注入漏洞,那我们注入后通过MYSQL服务器不止能够访问数据库A还可以同时对数据库B进行查看,但前提是网站A使用的账号也就是访问的用户权限足够访问数据库B,一般是root权限等。首先我们要知道MYSQL的权限级别有哪些。
2024-07-23 01:07:40 1024
原创 简单的SQL注入(内含sqli less-2例题)
我们先对下列语句进行分析,table_name指的是表名,我们需要查询的地方,从information_schema.tables这个表进行查询,这里的.呢代表的是information_schema系统库的下一级,也就是表这一级,因为这个网站查询出来的所有表可能有成百上千个,所以where table_schema='security'这个语句的作用就是定点查询security这个库下的表,因为我们前面已知我们要查询的库名为security。注释符混用,等价函数替换,特殊符号混用,等其他。
2024-07-21 22:29:35 1053
原创 SQL注入-数据库
mysql库是核心数据库,类似于sql server中的master表,主要负责存储数据库的用户(账户)信息、权限设置、关键字等mysql自己需要使用的控制和管理信息。performance_schema库具有87张表,是MYSQL开始新增的一个数据库,主要用于收集数据库服务器性能参数,内存数据库,数据放在内存中直接操作的数据库。两个特性union(前面的查询结果和后面的查询结果互不干扰)(前面的查询语句的字段数量和后面的查询语句字段数量要一直 * from 与id from)//test为数据库名。
2024-07-21 15:33:29 317
原创 如何防御密码爆破(理论)
1.sleep(延迟返回,降低单线程的爆破速度)2. csrf token(增加一次跟服务器之间的通信,不允许多线程访问)3.限制尝试次数,锁定账户4.验证码5.行为识别。
2024-07-10 12:37:17 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人