转眼就17年9月了
看见一届一届的学弟学妹走进学校的时候 总是会笑着说 莫名其妙的又被催着升了一届
15年到17年的已经两年 两年间发生的事情太多 如果认真的整理起来的话 又要借用一句我最喜欢说的一句话
——简直头皮发麻

大一进学校的时候就想着要考研要考研 真的走到要考研的这条路上的时候 突然发现 这真的是一条一个人走的路 不会再有一个班或者一个学校的人陪着你做同样的事情了 我们都在没有察觉的时间里慢慢长大了
心态发生了很多很多的变化
见过了很多人 发生了很多事情 改变了对很多事情的看法
我找到了人生的第一个漏洞 我收到过人生的第一份offer 我遇到了很多很棒很温柔的朋友 我也遇见了第一次见面就想到未来的人
我做过重大的决定 放下了学了挺久的算法 放下了收到的offer

一开始决定从算法转安全的时候 这个想法从脑海里冒出来的那一刻 我觉得自己应该是疯掉了 -3-
我花费了半学期的时间 学了一些算法 虽然说是皮毛 却也刷了很多题目 熬过很多夜 慢慢从一个在班里闹腾不休的人 就如同销声匿迹一样
emmmm 我确实失去了一些学校里曾经玩的比较好的朋友
我也得到了很多更好的朋友 志同道合的朋友 一些我曾经没有想过会遇到的好朋友

后来就开始在这条路上跌跌撞撞的走着
很累很累 有的时候累的开始思考人生 是不是应该和别人一样 好好的把自己的专业学好 不要去学安全了 省的每年期末还要痛苦的复习
我自诩是一个抗压能力强的人 却也被打击的差点爬不起来
已经过了能放肆喊出口号的年纪了 但是也不喜欢没有用的鸡汤 感觉未来的路还会很长 应该会好起来的吧
想努力一下把自己送上更高的台阶 也算是跨过自己当初高考没有考好的一个坎
习惯了什么之后就不会再惧怕什么了 所以日常起床对自己说 再努力一下吧 未来太多的不确定的事情了 做一个努力对得起我自己的人
2333333 似乎我成年之前每天都在做对不起我自己的事情 搞事搞事和搞事 -3-
总得做一个对自己负责任的人 做一个比较棒的人 -3-
一切都会好起来的吧~ 不努力的话 可能我就真的再也接触不到更好的人和事物了

emmmmm~
那加油 考研这条路一旦决定走上就不回头啦 加油吧~

一张晚上回宿舍的路上拍的照片
某天的雨夜 每天必过的天桥 每天都有不一样的风景

0x01

mysql一些简单的基础知识

可能存在sql注入的一些常见url形式

  • http://www.******.com/***.asp?id=xx (ASP 注入)
  • http://www.******.com/***.php?id=xx (PHP 注入)
  • http://www.******.com/***.jsp?id=xx (JSP 注入)
  • http://www.******.com/***.jspx?id=xx (JSPX 注入)
  • http://www.******.com/***.asp?id=xx&page=99 (有两个参数,注入时要注意参数的确认)
  • http://www.******.com/index/new/id/8 (伪静态)
  • http://www.******.com/index/new/php-8.html (伪静态)

常用的判断是否存在sql注入的方法

  • 符号法:通过在链接的参数后面添加单引号或是双引号,如果页面报错,或者返回不正常,则可能存在注入
  • 1=1和1=2:在链接后面加上“1=1”或者“1=2”,如果两种情况下,页面显示出的结果不同,则可能存在注入

0x02

在新版的MySQL 5 版本数据库中,新增加了information_schema数据库,该库中储存了数据库信息内容,可以直接进行爆库、爆表、爆字段,攻击变得更简单。
schemata表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
tables表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
colunms表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

接下来详细的看看几张表里的东西
select * from information_schema.schemata;


不难看出第二个字段schema_name为mysql中存储的数据库的名字

select * from information_schema.tables;


这一张图有点乱,但是我们可以看出来TABLE_SCHEMATABLE_NAME字段里存储的是每一个数据库的名字以及数据库对应的表名,我们可以把这两个字段单独提出来
select table_schema,table_name from information_schema.tables;


不难看出,不同的数据库与其对应的表一一对应

select * from information_schema.columns limit 10 ;


因为这里显示的是每一个数据库里的每一张表对应的每一个字段,全部读出来的话,我自己都等不下去Orz,就只读了前十条
但是可以看出 TABLE_SCHEMATABLE_NAMECOLUMN_NAME 三个字段对应的的分别是数据库名,表名,表中字段名

所以可以通过一下的方式进行数据库中数据内容的整体读取

同时我们可以通过order by n爆出表中的字段,其中n指的是猜测的字段数字1,2……n诸如此类,直到报错,则输入的n-1是该表中的字段数
当然还有很多姿势,后面慢慢会说到

0x03
关于注入类型,简单的分为以下三种

  • 数字型:select * from users where id=$id
  • 字符型:select * from users where id=’$id’
  • 搜索型:select * from users where username like ‘%admin%’

注入方式:

  • 数字型:select * from users where id=$id and 1=1
  • 字符型:select * from users where id=’$id’这里需要闭合引号使用’ and 1=1 ‘
  • 搜索型:select * from users where username like ‘%admin%’这里需要闭合引号以及百分号 %’ and 1=1 ‘%

提交注入方式

  • GET型:直接在url里进行注入测试
  • POST型:firefox可以使用hackbar进行post数据的提交,其他浏览器可以通过burp抓包,然后进行参数提交;有些post型注入也可以通过补全地址变为get型进行注入测试
  • Cookie提交:使用burp抓包后可修改cookie