U E D R , A S I H C RSS

Project Prometheus/Library Cgi Analysis

λ„μ„œκ΄€ 검색 μ°½ μž…λ ₯폼에 λŒ€ν•œ 뢄석.

νŒŒμ΄μ¬μ—μ„œ webdebug λΌ μ΄μš©, λΈŒλΌμš°μ €κ°€ μ „μ†‘ν•˜λŠ” GET, POST 값을 λΆ„μ„ν–ˆλ‹€.
(http://www.cyberclip.com/webdebug/index.html, http://sourceforge.net/projects/webdebug)

λ˜λŠ” μ›Ή ν•„ν„° ν”„λ‘œκ·Έλž¨μΈ Proxomitron 을 μ΄μš©ν•  μˆ˜λ„ μžˆλ‹€. (http://proxomitron.cjb.net/) κ°œμΈμ μœΌλ‘œλŠ” webdebug κ°€ 더 ν•΄λ‹Ή 폼 κ°’/헀더 κ°’λ§Œ 보기엔 νŽΈν–ˆλ˜κ±Έλ‘œ κΈ°μ–΅.

λ„μ„œκ΄€ μ„œλ²„

  • Server: Apache/1.3.22 (Win32) mod_jk
  • Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.1_01; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.)
  • Content-Type: text/html;charset=MS949

Windows 2000 μ•„νŒŒμΉ˜ ν†°μΌ“ 쑰합에 Java JDK κ°€ 1.3.1_01 이라. μ•½κ°„ μ‹ κΈ°ν•œ μ‘°ν•©κ°™λ‹€λŠ” 생각이.. --a

λ‹€λ₯Έκ±΄ λ‘˜μ§ΈμΉ˜κ³ , 제발 μ•ˆμ •ν™”λ˜μ–΄μ„œ 검색 μ€ μ œλŒ€λ‘œ λ˜μ—ˆμœΌλ©΄ μ’‹κ² λ‹€. -_-; μ  μž₯ 검색이 λ˜μ•Ό 뭘 뢄석을 ν•˜λ˜μ§€ ν•˜μ§€. -_-

μ°½ μž…λ ₯ 폼


  • USERID λŠ” μ•„λ¬΄κ°’μ΄λ‚˜ λ„£μ–΄μ€˜λ„ 상관이 μ—†λ˜, λ‚΄μš©μ΄ μ—†μœΌλ©΄ μ•ˆλ¨.
  • 같은 POST μ»€λ§¨λ“œλΌ ν•˜λ”λΌλ„ IPκ°€ λ‹€λ₯΄λ©΄ 결과값이 λ‚˜μ˜€μ§€ μ•ŠλŠ”λ‹€. (이둜 λ³Όλ•Œ μ„œλ²„ λ‚΄λΆ€μ—μ„œ IP와 History κ°€ μ—°κ΄€λ˜μ–΄ μ €μž₯λœλ‹€.)
  • ν•œλ²ˆ 검색 ν•˜κ³  λ‹€μŒ νŽ˜μ΄μ§€κ°€ λ„˜μ–΄κ°ˆλ•ŒλŠ” HISNO 의 값이 μœ μ§€λ˜κ³ , SEQNO κ°€ μ¦κ°€ν•œλ‹€.

~cpp 
import httplib, urllib

params={'LIBRCODE': 'ATSL',
 'SYSDB': 'R',
 'USERID': '*',
 'cmdexprs': 'TI=XML',
 #'cmdsrch': '\xb0\xcb  \xbb\xf6',
 #'maxdisp': '10',
 #'operator1': '&',
 #'srchitem1': 'TI',
 #'srchitem2': 'AU',
 #'srchitem3': 'KW',
 #'srchitem4': 'IB',
 #'srchitem5': 'AN'}
 }

headers = {"Content-Type":"application/x-www-form-urlencoded",
	   "Referer":"http://165.194.100.2/cgi-bin/mcu100?LIBRCODE=ATSL&USERID=*&SYSDB=R",
	   "Accept":"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*"}


def getSrchResult(headers,params):
    params=urllib.urlencode(params)
    conn = httplib.HTTPConnection("165.194.100.2:80")
    conn.request("POST", "/cgi-bin/mcu200", params, headers)
    response = conn.getresponse()
    print response.status, response.reason
    data = response.read()
    conn.close()
    return data

def getSrchResult2(params):
    params=urllib.urlencode(params)
    f = urllib.urlopen("http://165.194.100.2/cgi-bin/mcu200", params)
    return f.read()




(μž„μ‹œλ‘œ μž μ‹œ 여기에 μ“΄ 쀑)

For View Page λ“€ κ΄€λ ¨ 양식

λ“±λ‘νŽ˜μ΄μ§€ 양식 μ •μ˜
μ‚¬μš©μž 정보 ( ν•„μˆ˜ 사항 ꡬ뢄 )
이름, ID, Password
μ€‘λŒ€ λ„μ„œκ΄€ ID, Password

λ§ˆμ΄νŽ˜μ΄μ§€
Search 링크

λ‘œκ·Έμ•„μ›ƒ 양식
Search링크
λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌ

검색 리슀트의 양식

μ±… 정보 νŽ˜μ΄μ§€ 양식
μ„œμ§€λ²ˆν˜Έ ( key 값이 λœλ‹€.)

μ„œλͺ…μ €μž
μΆœνŒμ‚¬
ISBN
μ €μžλͺ…
μ €μžλ©΄
λΆ„λ₯˜κΈ°ν˜Έ

μ†Œμž₯정보확인

μ†Œμž₯ λ„μ„œκ΄€(ν˜„μž¬ 제 1만)
μ†Œμž₯μœ„μΉ˜, λ“±λ‘λ²ˆν˜Έ, 청ꡬ기호, μžλ£Œν˜„ν™©, λ°˜λ‚©μ˜ˆμ •μΌ

μƒˆλ‘œ 바뀐 폼

~cpp 
검색 λΆ€λΆ„ : http://www.lib.cau.ac.kr/search/search_200.jsp?
now=2		- ν˜„μž¬ νŽ˜μ΄μ§€ 번호
&pKeyWordC=%28+%28-TI-+WITH+%28extreme+programming+%29+.TXT.%29++%29 - 검색 κ΄€λ ¨ ν‚€μ›Œλ“œ
&pSort0=(SOTI/-SOTI)		- μ„œλͺ…μ†ŒνŠΈ
&pSort1=(SOAU/-SOAU)		- μ €μžμ†ŒνŠΈ
&pSort2=(SOPU/-SOPU)		- μΆœνŒμ‚¬ μ†ŒνŠΈ
&pSort3=(PUYE/-PUYE)		- μΆœνŒλ…„λ„ μ†ŒνŠΈ
&pSgubun=(Y/N)		- κ²°κ³Όλ‚΄ μ •λ ¬
&pSGubun=3		- 검색방법 3번

&SYSDB=R
&pAtdb=SLDB
&iSNo=1			- 처음 λ³΄μ—¬μ£ΌλŠ” νŽ˜μ΄μ§€ λ¦¬μŠ€νŠΈμ—μ„œμ˜ 첫번째 번호.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:05
Processing time 0.0378 sec