安全入门学习第三天

一、SQL注入

  1. 首先进入pikachu漏洞练习平台,找到SQL字符型注入(get),我们随便输入什么字,
    在这里插入图片描述

  2. 我们可以查看到确实是get请求
    在这里插入图片描述

  3. 将该网页的url复制好,打开sqlmap
    在这里插入图片描述

  4. 查看有哪些数据库
    python sqlmap.py -u “http://192.168.242.1/vul/sqli/sqli_str.php?name=%E9%98%BF%E7%B4%A2&submit=%E6%9F%A5%E8%AF%A2” --dbs
    在这里插入图片描述

  5. 查看pikachu数据库中有哪些表
    python sqlmap.py -u “http://192.168.242.1/vul/sqli/sqli_str.php?name=%E9%98%BF%E7%B4%A2&submit=%E6%9F%A5%E8%AF%A2” -D “pikachu” --tables
    在这里插入图片描述

  6. 开始爆破用户名和密码
    python sqlmap.py -u “http://192.168.242.1/vul/sqli/sqli_str.php?name=%E9%98%BF%E7%B4%A2&submit=%E6%9F%A5%E8%AF%A2” --dump -D “pikachu” -T “users” -C “username,password”
    在这里插入图片描述

二、一句话木马上传(1)

  1. 靶场内容选择:pikachu Unsafe Fileupload
    在这里插入图片描述

  2. 先看一下直接上传php文件是个什么效果。网站要求只能上传图片文件,因此当我们选择飞图片文件的时候。如下图所示,刚选好文件,还没有点 “开始上传” 的时候,就弹出了提示 上传的文件不符合要求。
    在这里插入图片描述在这里插入图片描述

  3. 绕过姿势,客户端验证一般两种绕过方法(1)浏览器禁用javascript(2)burpsuite抓包改后缀。这里我们使用第二种。
    首先我们写一个带有一句话木马的php文件
    在这里插入图片描述

    扫描二维码关注公众号,回复: 14905624 查看本文章
  4. 将文件后缀改为png并尝试上传,上传过程中使用抓包软件抓包
    在这里插入图片描述

  5. 抓到如图所示报文,右键 send to repeater
    在这里插入图片描述

  6. 把文件后缀改成php,点send,上传成功
    在这里插入图片描述在这里插入图片描述

  7. 显示文件上传成功
    在这里插入图片描述

三、一句话木马上传(2)

  1. 选择靶场,MIME type
    在这里插入图片描述

  2. 尝试上传php文件,显示上传的图片只能是jpg,jpeg,png格式的!
    在这里插入图片描述

  3. 绕过方式:(1)上传123.php,burpsuite抓包修改MIME type (2)上传sh.png,burpsuite抓包修改文件后缀 这里我们采用第二种
    上传123.png,burpsuite抓包
    抓到如图所示报文,右键 send to repeater
    在这里插入图片描述

  4. 把文件后缀改成php,点send,上传成功
    在这里插入图片描述

  5. MIME类型在HTTP request报文中MIME类型在Content-Type字段体现。本关的防护代码中$mime是一个包含合法MIME类型的数组,也就是MIME类型白名单;然后将这个白名单作为参数传入了upload_sick()函数进行服务器端的检测。
    但是,upload_sick()函数不安全之处有两点:
    (1)仅检查了MIME类型,可以通过抓包修改绕过。
    (2)保存文件的时候没有重命名文件,这样即使网页不回显文件保存路径,也有很大概率可以被攻击者猜测到。
    整个关卡还有一处不安全,就是回显了文件保存路径。成功上传webshell,并且知道文件保存路径后,攻击者就可以连接shell了
    四、连接到webshell

  6. 使用蚁剑连接我们留下的后门
    在这里插入图片描述

  7. 点击添加后即可看到我们出现了一条记录
    在这里插入图片描述

  8. 右键选择文件管理,我们就能操作网站的文件了
    在这里插入图片描述

网站文件目录如下
在这里插入图片描述

五、使用pikachu复现xss漏洞
(1)反射型xss(get)

  1. 选择反射型xss(get)
    在这里插入图片描述

  2. 我们输入一个简单的XSS语句攻击得到用户cookie
    在这里插入图片描述

得到admin的cookie

(2)储存型XSS

  1. 这一关没有长度输入限制,我们直接输入payload:
    在这里插入图片描述
    在这里插入图片描述

  2. 并且留言列表里面也出现了我们的记录
    在这里插入图片描述

3.现在我们换一个浏览器,进入本关卡页面可以看到也弹出了对话框,说明存储型XSS能危害所有访问受影响页面的用户。
在这里插入图片描述

六、使用DVWA对CSRF漏洞进行复现
(1)low难度
1.首先我们将DVWA的安全等级设置为low
在这里插入图片描述

  1. 我们选择CSRF页面
    在这里插入图片描述

  2. 我们可以知道在low的等级下,该页面的原码并没有隐藏的token
    在这里插入图片描述

  3. 于是我们可以伪造一个简陋的链接:在我们原本的地址后加上?password_new=password&password_conf=password&Change=Change#一旦用户点击链接,就会出现红字:
    在这里插入图片描述

这样我们就成功地将密码更改为password了
(2)medium难度

  1. 我们首先设置难度为medium
    在这里插入图片描述

2.进入源代码查看与low难度的区别
我们可以发现,比起low难度的代码,多了一行
if( eregi( $_SERVER[ ‘SERVER_NAME’ ], $_SERVER[ ‘HTTP_REFERER’ ] ) )
这句代码的作用是:检查string函数中是否含有pattern,如果有返回True,反之False
因此,此句是判断HTTP_REFERER中是否包含SERVER_NAME,HTTP_REFERER是Referer参数值,即来源地址。SERVER_NAME是host参数及主机ip名。所以,如果我们想要破解它,就要让Referer参数值包含主机名
3. 我们写两个html文件,作为被攻击的地址:
<·img src=“http://192.168.1.102/dvwa-master/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#” border=“0” style=“display:none;”/>
<·h1>404<·h1>
<·h2>file not found.<h2·>
写好后将其命名为ip地址.html格式,如:192.168.242.1.html 然后将其放在网页根目录WWW的DVWA文件中
在这里插入图片描述

  1. 我们打开burp suite,对csrf界面抓一次包,发送至repeater,将Referer地址改为http://攻击者服务器地址/dvwa/被攻击ip地址.html格式,如图:
    在这里插入图片描述

密码更改成功
(3)high难度

  1. 我们首先设置难度为medium
    2.进入源代码查看与low难度的区别
    在这里插入图片描述

这次有了token值,这个值并不是很容易就看到的,我们需要在攻击者服务器上获取被攻击者的token值。csrf攻击本质是重要操作的所有参数,都可以被攻击者猜测到。
因此我们必须要获得token值。
3. 我们可以利用xss漏洞。我们需要构造一条语句来获取token,由于有字符数限制,这里有两种方法,一是利用burp suite进行抓包,然后改参数,运行获取token。二是利用火狐浏览器。

  1. 我们使用burp suite进行抓包得到cookie
    在这里插入图片描述

  2. 得到token后就可以使用medium的攻击方式实现攻击

猜你喜欢

转载自blog.csdn.net/xuanyulevel6/article/details/126446075