Pikachu靶场打靶记录(1),看完没有不懂的

本文详细记录了在Pikachu靶场中针对SQL注入的各种类型进行的测试,包括数字型、字符型、搜索型注入等,并探讨了如何通过注入点探测、信息收集及权限获取。同时,文中提到了RCE漏洞、文件包含漏洞、不安全文件下载等Web安全问题,以及如何防范和利用这些漏洞。通过实例展示了如何利用这些技巧进行手工测试和漏洞利用。
摘要由CSDN通过智能技术生成

2.使用参数化(Parameterized Query 或 Parameterized Statement);
3.还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重!

SQL Inject 漏洞攻击流程
01:注入点探测
自动方式:使用web漏洞扫描工具,自动进行注入点发现
手动方式:手工构造sql inject测试语句进行注入点发现
02:信息收集
通过注入点取期望得到的数据
(1) 环境信息:数据库类型,数据库版本,操作系统版本,用户信息等
(2)数据库信息:数据库名称,数据库表,表字段,字段内容,甚至加密的内容也可能会被破解
03:获取权限
获取操作系统权限:通过数据库执行shell,上传木马

常见的注入点类型
数字型:

user_ id= $id

字符型:

user. id= ‘$id’

搜索型:

text LIKE ‘%{$_ GET[‘search’]}%’"

4x01 数字型注入(post)
  1. 我们随便选择一个数字并提交,发现url中并没有传参,说明我们的请求是以表单的形式发送。请添加图片描述
  2. 我们可以看到,返回来的数据是由姓名和邮箱两部分组成,我们在Burp里面抓包,如图:请添加图片描述
  3. 我们将此数据包发送至Repeater模块,并在输入点构造payload:1 or 1=1,因为任何id取1=1都为真,所以这样会把所有信息都罗列出来请添加图片描述
    请添加图片描述
4x02 字符型注入(get)
  1. 我们随便输入一段字符,此处以“qwer”为例,发现我们的请求是在url中提交的,,而若我们以vince为例,发现正确返回了数据,而且仍是由姓名和邮箱两部分构成请添加图片描述
    请添加图片描述
  2. 字符型注入,我们猜测sql语句如下:

select 字段1,字段2 from 表名 where username = ‘111’;

后台接收应该是:$uname=$_GET['username']
(其实这部分我看不懂,都是复制粘贴的)
与xss一样,我们要去构造合法闭合,前面的单引号我们也以单引号闭合,后面的单引号我们用#注释掉,所以我们输入的代码为a' or 1=1#
提交后发现所有的数据都列了出来:请添加图片描述

4x03 搜索型注入
  1. 我们尝试输入a进行搜索,发现请在在url里发送,且返回了所有带a的用户请添加图片描述
  2. 由于提示为%%,所以我们猜测

select from 表名 where username like ’ %k% ';

我们依旧是尝试去构造闭合:
我们输入abc%'or 1=1 #,用%’去与前面的%‘构造闭合,而后面的内容用#注释掉
此时完整语句为:

select from 表名 where username like ’ %abc%'or 1=1 #% ';

输入后发现所有数据都被列出请添加图片描述
由此发现,关键在于猜测后台是如何进行拼接的并尝试去构造闭合。

4x04 xx型注入
  1. 我们进入后端,访问\WWW\pikachu\vul\sqli\sqli_x.php,其中代码如下:

if(isset($_GET[‘submit’]) && $_GET[‘name’]!=null){
//这里没有做任何处理,直接拼到select里面去了
n a m e = name= name=_GET[‘name’];
//这里的变量是字符型,需要考虑闭合
q u e r y = " s e l e c t i d , e m a i l f r o m m e m b e r w h e r e u s e r n a m e = ( ′ query="select id,email from member where username=(' query="selectid,emailfrommemberwhereusername=(name’)“;
r e s u l t = e x e c u t e ( result=execute( result=execute(link, q u e r y ) ; i f ( m y s q l i _ n u m _ r o w s ( query); if(mysqli\_num\_rows( query);if(mysqli_num

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值