elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Peticion sql a phpMyAdmin :S
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Peticion sql a phpMyAdmin :S  (Leído 2,778 veces)
xustyx

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Peticion sql a phpMyAdmin :S
« en: 17 Abril 2013, 01:28 am »

Buenas a todos !!!

Llevo horas intentando averiguar como poder generar un formulario para hacer una peticion sql a phpmyadmin y estoy acabando de los nervios...

La pregunta es si alguien sabe a que archivo php debo realizar la consulta y que parametros necesito.

He estado con el temperdata realizando peticiones pero NPI de lo que manda ni como lo hace ya que se escapa de mis conocimientos.

Gracias y un saludo

<!-- Modificado 17/04/2013 a las 13:23 -->

Bueno aporto los siguientes datos para ver si alguien lo entiende mejor.

Tenemos el archivo querywindow.php que se encarga de mostrar la pagina para hacer la peticion el codigo del Form es el siguiente:
Código
  1. <form method="post" id="sqlqueryform" target="frame_content"
  2.              action="import.php" enctype="multipart/form-data" name="sqlform"
  3.              onsubmit="var save_name = window.opener.parent.frame_content.name;
  4.              window.opener.parent.frame_content.name = save_name + '1366197671';
  5.              this.target = window.opener.parent.frame_content.name;
  6.              return checkSqlQuery(this)">
  7.        <input type="hidden" name="focus_querywindow" value="true" />
  8. <input type="hidden" name="is_js_confirmed" value="0" />
  9. <input type="hidden" name="db" value="information_schema" /><input type="hidden" name="table" value="USER_PRIVILEGES" /><input type="hidden" name="token" value="1da3fdab31690437221d1fe18cfffa59" />
  10. <input type="hidden" name="pos" value="0" />
  11. <input type="hidden" name="goto" value="tbl_sql.php" />
  12. <input type="hidden" name="message_to_show" value="Su consulta se ejecutó con éxito" />
  13. <input type="hidden" name="prev_sql_query" value="" />
  14. <a name="querybox"></a>
  15. <div id="queryboxcontainer">
  16. <fieldset id="querybox">
  17. <legend>Ejecutar la(s) consulta(s) SQL en la base de datos <a href="db_structure.php?db=information_schema&amp;token=1da3fdab31690437221d1fe18cfffa59" target="_self" onclick="this.target=window.opener.frame_content.name">information_schema</a>: <a href="./url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Fselect.html&amp;token=1da3fdab31690437221d1fe18cfffa59" target="mysql_doc"><img src="themes/dot.gif" title="Documentación" alt="Documentación" class="icon ic_b_help" /></a></legend>
  18. <div id="queryfieldscontainer">
  19. <div id="sqlquerycontainer">
  20. <textarea tabindex="100" name="sql_query" id="sqlquery"  cols="40"  rows="18.75"  dir="ltr" onkeypress="document.sqlform.elements['LockFromUpdate'].checked = true;">SELECT * FROM `USER_PRIVILEGES` WHERE 1</textarea>
  21. <input type="button" value="SELECT *" id="selectall" class="sqlbutton" /><input type="button" value="SELECT" id="select" class="sqlbutton" /><input type="button" value="INSERT" id="insert" class="sqlbutton" /><input type="button" value="UPDATE" id="update" class="sqlbutton" /><input type="button" value="DELETE" id="delete" class="sqlbutton" /><input type="button" value="Limpiar" id="clear" class="sqlbutton" /></div>
  22. <div id="tablefieldscontainer">
  23. <label>Columnas</label>
  24. <select id="tablefields" name="dummy" size="13" multiple="multiple" ondblclick="insertValueQuery()">
  25. <option value="`GRANTEE`" title="">GRANTEE</option>
  26. <option value="`TABLE_CATALOG`" title="">TABLE_CATALOG</option>
  27. <option value="`PRIVILEGE_TYPE`" title="">PRIVILEGE_TYPE</option>
  28. <option value="`IS_GRANTABLE`" title="">IS_GRANTABLE</option>
  29. <div id="tablefieldinsertbuttoncontainer">
  30. <input type="button" name="insert" value="&lt;&lt;" onclick="insertValueQuery()" title="Insertar" />
  31. </div>
  32. </div>
  33. <div class="clearfloat"></div>
  34. </div>
  35.        <div id="bookmarkoptions">
  36.        <div class="formelement">
  37.        <label for="bkm_label">
  38.            Guardar esta consulta en favoritos:</label>
  39.        <input type="text" name="bkm_label" id="bkm_label" tabindex="110" value="" />
  40.        </div>
  41.        <div class="formelement">
  42.        <input type="checkbox" name="bkm_all_users" tabindex="111" id="id_bkm_all_users"
  43.            value="true" />
  44.        <label for="id_bkm_all_users">
  45.            Permitir que todo usuario pueda acceder a este favorito</label>
  46.        </div>
  47.        <div class="formelement">
  48.        <input type="checkbox" name="bkm_replace" tabindex="112" id="id_bkm_replace"
  49.            value="true" />
  50.        <label for="id_bkm_replace">
  51.            Reemplazar el favorito existente que tenga el mismo nombre</label>
  52.        </div>
  53.        </div>
  54.        <div class="clearfloat"></div>
  55. </div>
  56. <fieldset id="queryboxfooter" class="tblFooters">
  57. <div class="formelement">
  58.        <script type="text/javascript">
  59.        //<![CDATA[
  60.            document.writeln(' <input type="checkbox" name="LockFromUpdate" checked="checked" tabindex="120" id="checkbox_lock" /> <label for="checkbox_lock">No sobreescribir esta consulta desde fuera de la ventana</label> ');
  61.        //]]>
  62.        </script>
  63.        </div>
  64. <div class="formelement">
  65. <label for="id_sql_delimiter">[ Delimitador</label>
  66. <input type="text" name="sql_delimiter" tabindex="131" size="3" value=";" id="id_sql_delimiter" /> ]
  67. <input type="checkbox" name="show_query" value="1" id="checkbox_show_query" tabindex="132" checked="checked" />
  68. <label for="checkbox_show_query">Mostrar esta consulta otra vez</label>
  69. </div>
  70. <input type="submit" id="button_submit_query" name="SQL" tabindex="200" value="Continuar" />
  71. <div class="clearfloat"></div>
  72. </form>
  73.  

Como podeis ver la peticion la realiza a "import.php" y por ejemplo, al hacer "SELECT * FROM `USER_PRIVILEGES` y dar al submit envia el siguiente contenido.
Código:
-----------------------------12411563315856\r\nContent-Disposition: form-data; name="focus_querywindow"\r\n\r\ntrue\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="is_js_confirmed"\r\n\r\n0\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="db"\r\n\r\ninformation_schema\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="table"\r\n\r\nUSER_PRIVILEGES\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="token"\r\n\r\n1da3fdab31690437221d1fe18cfffa59\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="pos"\r\n\r\n0\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="goto"\r\n\r\ntbl_sql.php\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="message_to_show"\r\n\r\nSu consulta se ejecutó con éxito\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="prev_sql_query"\r\n\r\n\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="sql_query"\r\n\r\nSELECT * FROM `USER_PRIVILEGES`\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="bkm_label"\r\n\r\n\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="LockFromUpdate"\r\n\r\non\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="sql_delimiter"\r\n\r\n;\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="show_query"\r\n\r\n1\r\n-----------------------------12411563315856\r\nContent-Disposition: form-data; name="SQL"\r\n\r\nContinuar\r\n-----------------------------12411563315856--\r\n

Bueno, os preguntareis por que no creo yo mi propio php para hacer una consulta directa a MySql sin pasar por phpMyAdmin, la respuesta es sencilla, phpMyAdmin no tiene pass y MySql sí. Entonces quiero aprovechar el PMA para realizar la consulta automaticamente  >:D, simplemente por diversion, en general estoy programando en C# un programita que haga una consulta concreta para crear un arcihivo en el servidor, ya me entendeis "into outfile".

Antes de que digais nada, ya e probado de hacer la select manualmente desdel browser y, efectivamente, me genera el archivo (un php que me da una shell  >:D) y bueno queria automatizar un poco esto, y la idea es esa primero probar yo de crear un form como ese pero mucho mas simple para ver que valores son realmente los necesarios y como mandarlos, luego cuando sepa ya eso podre con C# adaptarlo mejor, aunke al usar tokens y puede que cookies me se complique un poco mas la cosa :S

Bueno un saludo y seguire probando en los ratos libres.


« Última modificación: 17 Abril 2013, 13:36 pm por xustyx » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Peticion sql a phpMyAdmin :S
« Respuesta #1 en: 17 Abril 2013, 18:03 pm »

Citar
Bueno, os preguntareis por que no creo yo mi propio php para hacer una consulta directa a MySql sin pasar por phpMyAdmin, la respuesta es sencilla, phpMyAdmin no tiene pass y MySql sí. Entonces quiero aprovechar el PMA para realizar la consulta automaticamente  >:D, simplemente por diversion, en general estoy programando en C# un programita que haga una consulta concreta para crear un arcihivo en el servidor, ya me entendeis "into outfile".

En realidad phpMyAdmin si tiene pass. Pero automatiza un poco el proceso. Si MySql tiene pass y phpMyAdmin no la sabe, te dará error. Recuerda que phpmyadmin no es mas que una interfaz gráfica para manejar la bd. Sigue necesitando conectarse al cliente de mysql.

Respecto a que archivo hacer la query...

import.php. Te dejo un EJEMPLO DE LO QUE SE ENVIA:
Código
  1. http://localhost/modules/phpmyadmin3522x130215055021/import.php
  2.  
  3. POST /modules/phpmyadmin3522x130215055021/import.php HTTP/1.1
  4. Host: localhost
  5. User-Agent: Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20100101 Firefox/20.0
  6. Accept: */*
  7. Accept-Language: en-US,en;q=0.5
  8. Accept-Encoding: gzip, deflate
  9. Content-Type: application/x-www-form-urlencoded; charset=UTF-8
  10. X-Requested-With: XMLHttpRequest
  11. Referer: http://localhost/modules/phpmyadmin3522x130215055021/server_sql.php
  12. Content-Length: 275
  13. Cookie: phpMyAdmin=k4meak9tmgl68okk4osq5h2hmstjfqjd; pma_lang=es; pma_collation_connection=utf8_general_ci
  14. Connection: keep-alive
  15. Pragma: no-cache
  16. Cache-Control: no-cache
  17. is_js_confirmed=0&token=1acd51c86a4bcd76b78998647a948aec&pos=0&goto=server_sql.php&message_to_show=Su+consulta+se+ejecut%C3%B3+con+%C3%A9xito&prev_sql_query=&sql_query=SELECT+*+FROM+test&bkm_label=&sql_delimiter=%3B&show_query=1&ajax_request=true&_nocache=1366214341047261776
  18. HTTP/1.1 200 OK
  19. Date: Wed, 17 Apr 2013 15:59:01 GMT
  20. Server: Apache/2.4.2 (Win32) PHP/5.4.6
  21. X-Powered-By: PHP/5.4.6
  22. Expires: Thu, 19 Nov 1981 08:52:00 GMT
  23. Cache-Control: no-cache
  24. Last-Modified: Sun, 12 Aug 2012 08:45:56 GMT
  25. Content-Length: 84
  26. Keep-Alive: timeout=5, max=100
  27. Connection: Keep-Alive
  28. Content-Type: application/json
  29. ----------------------------------------------------------

La linea marcada es la que contiene el POST. Sigo pensando que te sera mucho mas facil hacer la consulta directamente :P
PD: El archivo que contiene el formulario de la consulta se deberia de llamar server_sql.php

Saludos


« Última modificación: 17 Abril 2013, 18:06 pm por drvy | BSM » En línea

xustyx

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Re: Peticion sql a phpMyAdmin :S
« Respuesta #2 en: 17 Abril 2013, 22:28 pm »

En realidad phpMyAdmin si tiene pass. Pero automatiza un poco el proceso. Si MySql tiene pass y phpMyAdmin no la sabe, te dará error. Recuerda que phpmyadmin no es mas que una interfaz gráfica para manejar la bd. Sigue necesitando conectarse al cliente de mysql.

Si ya lo sé, pero me referia que la base mysql tiene user y pass y el phpmyadmin (en mi caso) es decir no esta configurada aún. Entonces puedo aprovecharlo para hacer las selects :)

Por otro lado esta tarde en clase lo he mirado mejor y al final encontró como hacerla !!! :)

Ahora no me acuerdo exactamente a que archivo realizaba la peticion pero necesitaba 1 cookie, 1 token, 1 DB y la select :D, ahora pongo la info en cuanto pase el temper.

<!-- Aqui van los datos -->

El archivo php al que se le pasa el post es import.php
Los parametros obligados son:

La cookie: phpMyAdmin=79isb9gphhapb3povpm1e8obk791d255
El parametro db: information_schema
El parametro token: 79e26a48ffa98196a888b9b3ee0a5a7f
El parametro sql_query: SELECT+*+FROM+%60USER_PRIVILEGES%60

Bueno marcho para casa de un colega ahora dentro de un rato (depende xD) pondre el codigo C# de un programa de consola que pille el token y la cookie, haga el post y genere una shell en el servidor :)

PD: Me lo pasaré bien ahora que tan todos en clase instalando XAMPP y dejando todo por defecto  :silbar:

<!-- Editado -->

Ahora que pienso tambien necesitaré sacar el PATH que sera "?:\?????????\xampp\htdocs" aunque creo que ya sé de donde sacarlo ^^
« Última modificación: 17 Abril 2013, 22:39 pm por xustyx » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
phpMyAdmin phpMyAdmin 2.10.0.2 [XSS] - 0day
Nivel Web
yeikos 2 4,269 Último mensaje 25 Agosto 2007, 03:29 am
por yeikos
phpmyadmin si, php no « 1 2 »
PHP
IWKY 12 6,093 Último mensaje 5 Octubre 2007, 15:06 pm
por IWKY
phpMyAdmin
PHP
c4ntinflas 4 2,518 Último mensaje 6 Febrero 2013, 22:13 pm
por Shell Root
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines