sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))

0x1

网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉。

原理自己百度,这里简单说下:

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

0x2

我这里用一个漏洞示例程序bWAPP来演示,先看下正常访问的情况:

输入框输入a实时更新出查询结果,地址栏地址为http://192.168.1.102/bWAPP/sqli_10-1.php?search=a

重新载入这个url是没有任何查询结果的,因为没有经过页面中javascript的AJAX处理其实没有查询数据库,那么注入点自然不在这里

下面来寻找真正的注入点吧

查看网页源码,查询输入框的表单action会只想ajax的代码所在,找到ajax所在的javascript代码如下:

提取关键代码如下:

//输入框的表单name为title,此处获取并处理创建一个key:value键值对赋值给search变量,该键值对形式与GET和POST的data一样,例如title=a

var search = {title: $("#title").val()};

//getJSON函数请自行百度查阅

//1、sqli_10-2.php即把数据提交到此文件,也就是说其实ajax查询数据是这个文件在处理

//2、search是存储的键值对,这里提交。正常查询时候是GET方法,那么这里也是GET方法,处理后的GET其实是

//3、第三个参数是查询成功后处理要调用的函数,这里是格式化了输出,我们忽略

$.getJSON("sqli_10-2.php", search, function(data){

//后面的代码是格式化处理查询结果的,我们不用关注

}

0x3

理论完了,注入点就很明了了

但是直接地址栏提交http://192.168.1.102/bWAPP/sqli_10-2.php?title=a 是不行的

好像是这里要验证Referer是http://192.168.1.102/bWAPP/sqli_10-1.php?search=a

那我们用brupsuite抓包修改,这不多说大家都会。

加 ' 测试注入漏洞,下面看下返回页面,报数据库错误:

后面的注入就不说了,这里简单sqlmap演示下结果:

linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))相关推荐

  1. linux json 写sql注入,【网络安全】SQL注入、XML注入、JSON注入和CRLF注入科普文

    SQL注入 所谓SQL注入,是将恶意SQL命令经过某种方式提交到服务器后台,并欺骗服务器执行这些恶意的SQL命令的一种攻击方式. -- [ 百度百科 ] 形成SQL注入漏洞缘由有两个:一个是没有对输入 ...

  2. java中sql语句怎么把开始和结束时间作为参数写sql查询_聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 引言 MyBatis 是一种持久层框架,介于 JDBC 和 Hi ...

  3. SQL Server安全-加密术和SQL注入攻击

    SQL Server上的加密术 SQL Server上内置了加密术用来保护各种类型的敏感数据.在很多时候,这个加密术对于你来说是完全透明的:当数据被存储时候被加密,它们被使用的时候就会自动加密.在其他 ...

  4. SQL注入_1-6_user-agent注入

    SQL注入_1-6_user-agent注入 一.概念 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本. ...

  5. 为什么preparedstatement能防止sql注入_使用Python防止SQL注入攻击的实现示例

    文章背景 每隔几年,开放式Web应用程序安全项目就会对最关键的Web应用程序安全风险进行排名.自第一次报告以来,注入风险高居其位!在所有注入类型中,SQL注入是最常见的攻击手段之一,而且是最危险的.由 ...

  6. sql注入漏洞,应屏蔽SQL注入攻击

    2019独角兽企业重金招聘Python工程师标准>>> 注:SQL注入好比是前端URL传参数请求时参数以SQL 做为参数传入,如 select 1  from dual where ...

  7. SQL注入之什么是加密注入|二次漏洞注入|DNSlog注入

    加密注入.二次漏洞注入.DNSlog注入 加密注入: 什么是加密注入??下面将由一个例子阐述: 以sqlilabs-less-21为例 1.在登录界面输入账户密码提交抓包 2.在抓到这条数据,将uma ...

  8. xss sql注入 php,利用xss 执行sql注入

    看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms漏洞还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1. ...

  9. mybatis sql 如何去注入

    网上搜索了很多关于mybatis sql  注入的 出来的基本都是如何防止sql注入,好奇心驱使下,非常想知道如何注入的,研究一番后终于针对like成功了注入了一次.特别说明本次注入是针对mybait ...

最新文章

  1. Python学习笔记(二):标准流与重定向
  2. asp.net学习之DataList控件
  3. 用最简单的方式训练史上最强ResNet-50,性能超过魔改结构的ResNeSt
  4. [翻译]QUIC 与 HTTP/3:太过庞大而致失败?-- 论导致 QUIC 失败的因素
  5. Vue入门 ---- 组件通信
  6. 微信JSAPI模式与浏览器类型安全访问
  7. 对比:重建索引与更新统计
  8. 是真的!华为2019年应届博士年薪最高达201万
  9. ckplayer插件播放m3u8视频
  10. Ant Design学习——TimePicker
  11. ROSDUCT:通过rosbridge在本地公开远程ROS主题、服务和参数
  12. 蓝牙bluez进行HCI编程
  13. APP设计说明书概述
  14. 什么软件能测试你的cp是谁,叶罗丽测试:当你来到魔法世界,测你最有可能拆散哪对CP?...
  15. java加法处理器 图形界面,java作业设置加法器界面
  16. android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程
  17. android wear 神奇宝贝,宝可梦Home安卓版下载_宝可梦Home手机app官方版(Pokemon Home) v1.0.3-安族游戏网...
  18. macbook linux 双系统,MacOS+Ubuntu双系统,原来MacBook安装linux也简单!
  19. java毕业实习报告范文3篇
  20. 数据处理是用matlab好还是python好_numpy在一般的数值处理上能与matlab一样好用吗?...

热门文章

  1. Python+django网页设计入门(15):公用模板设计与使用
  2. python xlsxwriter dict_python学习-xlsxwriter模块
  3. 打砖块游戏c语言设计,打砖块游戏的源代码(请多指教)
  4. 力扣438.找到字符串中所有字母异位词(JavaScript)
  5. python删除特定的几行数据_Python:分成几行,并根据搜索删除特定行 - python
  6. 递归函数合式分解python_学习python的day10之递归与内置函数
  7. 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
  8. python画画用哪库好_学Python画画:应用Turtle库画一个蠢萌的小黄人
  9. OpenCV4每日一练day8:模型投影函数projectPoints()
  10. php远程simplexml_load_string()出错,PHP simplexml_load_string无法正常工作